把任意一個整數拆成三個不同正整數的和
先前看藍橋杯類的題,有道填空題把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+"分法");
}
運行結果如下: