行测题,运算

来源:百度知道 编辑:UC知道 时间:2024/06/05 19:57:25
有多少种办法可以把100表示为(有顺序的)3个自然数的和,详解,谢谢

列方程:
a+b+c=100
a在1--33取值
然后b从a到(100-a)/2进行取值
进行枚举
如可以A=1
那么B=2时,C=97
........一直这样下去
用C语言可以这样实现
#include "stdio.h"
void main()
{
int a,b,c,n=0;
for(a=1;a<33;a++)
for(b=a+1;b<(100-a)/2;b++)
{ c=100-a-b;
printf("a=%d.b=%d,c=%d\n",a,b,c);
n++;}
printf("the number is %d\n",n);
}
运行结果总共768种组合方式。
a=27.b=32,c=41
a=27.b=33,c=40
a=27.b=34,c=39
a=27.b=35,c=38
a=28.b=29,c=43
a=28.b=30,c=42
a=28.b=31,c=41
a=28.b=32,c=40
a=28.b=33,c=39
a=28.b=34,c=38
a=28.b=35,c=37
a=29.b=30,c=41
a=29.b=31,c=40
a=29.b=32,c=39
a=29.b=33,c=38
a=29.b=34,c=37
a=30.b=31,c=39
a=30.b=32,c=38
a=30.b=33,c=37
a=30.b=34,c=36
a=31.b=32,c=37
a=31.b=33,c=36
a=32.b=33,c=35
the number is 768