已知,a,b,c,为实数,并且29a+30b+31c=3366,求a+b+c的值
求以上能解算出(a+b+c)值的C语言代码
#include <stdio.h>
int main(int argc , char *argv[])
{
int a , b, c;
int sum = 3366;
int i , j , k;
int count = 0;
for(a = 0; a < sum/29; a++ )
for( b = 0; b < sum/30; b++ )
for(c = 0; c < sum/31; c++)
if((29*a+30*b+31*c) == sum)
{
printf("29*%d+30*%d+31*%d=%d\n",a,b,c,sum);
count ++;
}
printf("共有%d个自然数解\n",count);
}
题目的a,b,c应该是自然数,否则会有无数个解
以上自然数的解
希望采纳
#include <stdio.h>
int main(int argc , char *argv[])
{
float E = 0.001; //结果误差
float NE = -200; //负数的计算范围 -107374176.0000000
float PE = 1000; //整数的计算范围 107374176.000000
float a = 0.0 , b = 0.0, c = 0.0;
float sum = 3366.0;
int count = 0 ;
for(a = NE; a < PE; a += E )
for( b = NE; b < PE; b += E )
for(c = NE; c < PE; c += E)
if((29.0*a+30.0*b+31*c) > (sum - E) && (29.0*a+30.0*b+31.0*c) < (sum + E))
{
printf("29*%f+30*%f+31*%f=%f\n",a,b,c,29.0*a+30.0*b+31*c);
count ++;
}
printf("共有%d个自然数解\n",count);
}