三個正整數的和是乙個正整數 ,有多少種組合方法

2021-08-20 16:19:45 字數 1333 閱讀 4155

由於可調功率儀器昂貴,所以用普通燈泡代替,但是只有小功率燈泡,在電量計量的時候需要大功率進行比較,所以想了辦法用多個燈泡代替,手中有95w 60w 40w燈泡,合計做出乙個1000w的功率儀器,所以有了下面的方法。

/*

** 三個正整數的和是乙個正整數 有多少種組合方法 我這裡三個數用的是 95

6040 和是1000

* * 下面是兩種方法

*/#include

#define num1 95

#define num2 60

#define num3 40

#define sum 1000

int method(int sum,int num1,int num2,int num3)

int i = 0;

int j = 0;

int z = 0;

int flag = 1;

for(i=0; i<= sum/num1;i++)}}

}if(flag)

return0;}

int method1(int sum,int num1,int num2,int num3)

int i = 0;

int j = 0;

int z = 0;

int flag = 1;

for(i = sum/num1;i>=0;i--)}}

}if(flag)

return0;}

int main(int argc,char *argv)

這裡是組合的方法 x是95w燈泡的個數,j為60w燈泡個數,z為40w燈泡個數

i:0j

:0z:25i:0j

:2z:22i:0j

:4z:19i:0j

:6z:16i:0j

:8z:13i:0j

:10z

:10i:0j

:12z:7i

:0j:14z:4i

:0j:16z:1i

:4j:1z

:14i:4j

:3z:11i:4j

:5z:8i

:4j:7z

:5i:4j

:9z:2i

:8j:0z

:6i:8j

:2z:3i

:8j:4z

:0

在這裡還遇到了乙個有趣的問題,就是for迴圈的問題:猜一下z == ?

#include 

int main()

} return

0;}

將乙個正整數L隨機拆分成n個正整數

隨機指定範圍內n個不重複的數 最簡單最基本的方法 param min 指定範圍最小值 param max 指定範圍最大值 param n 隨機數個數 public static int randomcommon int min,int max,int n int result new int n i...

判斷乙個正整數是否素數

素數指的是只能被1和自身整除的大於1的整數 對於每個數num,並不需要從2判斷到num 1,這樣效率很低。假若乙個數可以進行因式分解,那麼分解得到的兩個數必將有乙個小於等於sqrt num 另乙個大於等於sqrt num 所以,我們只要遍歷sqrt num 即可,因為在sqrt num 左側找不到約...

乙個正整數表示為n個連續正整數之和(第1屆第2題)

問題描述 乙個正整數有可能可以被表示為 n n 2 個連續正整數之和,如 15 1 2 3 4 5 15 4 5 6 15 7 8 編寫程式,根據輸入的任何乙個正整數,找出符合這種要求的所有連續正整數序列。樣例輸入 15樣例輸出 1 2 3 4 5 4 5 6 7 8 題意很好懂,這個題第一直覺想到...