题目描述
有5个不同的数分别为:15、23、29、41和67。寻找所有组成1808的可能组合。每个数可用多次。
例子:
119*15+23=1808。
输出样例:
一共有19551种组合
代码:
#include<stdio.h>
#include <stdbool.h>
int main(){
//请在此处开始编写你的代码
int sum=0,count =0;
for(int i15=0;i15<=1808/15;i15++)
{
for(int i23=0;i23<=1808/23;i23++)
{
if(i15*15 +i23*23 >1808)
break;
for(int i29=0;i29<=1808 /29;i29++)
{
if(i15*15 +i23*23 +i29*29 >1808)
break;
for(int i41=0;i41<=1808 /41;i41++)
{
if(i15*15 +i23*23 + i29*29 + i41*41 >1808)
break;
for(int i67=0;i67<=1808/67;i67++)
{
sum=i15*15 +i23* 23 + i29 * 29 + i41 * 41 + i67 * 67;
if(sum == 1808)
{
count++;
}
else if(sum>1808)
break;
}
}
}
}
}
printf("一共有%d种组合\n",count);
return 0;
}