任意整數拆成三個不同正整數的和,求方案個數及結果

把任意一個整數拆成三個不同正整數的和

先前看藍橋杯類的題,有道填空題把2019分爲3個不同正整數和不考慮順序問題)有多少方法。
今天修改了一下,可以求任意正整數。

思路:分爲3個不同整數,假如a b c這3個數則他們需要滿足a<b<c的關係,這樣即解決了不同問題也解決了順序問題。那麼3個數只要確定2個數就行了。

具體代碼如下:

public class first 
{
	public static void main (String[] args)
	{
		zhengchu(12);
	}
	
	
	
	public static void zhengchu (int x)
	{
		int max=0;//方法計數
		for(int a=1;a<x;a++)
		{
			for (int b=a+1;b<x;b++)
			{
				int c=x-a-b;
				if(b<c)
				{
					max++;
					System.out.println(a+"."+b+"."+c);
				}
				else 
					break;
			}
		}
		System.out.println("把"+x+"分爲不同的從小到大的3個正整數有"+max+"分法");
	}

運行結果如下:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章