这个让人头痛的C语言题目
计算能满足a+b+c=100并且5a+3b+c=100的a,b,c有几组(排除a=0或b=0或c=0)?我编了如下程序,计算结果总是为0组?这是为什么啊?
#include"stdio.h"
main()
{ int a,b,c,n=0;
for(a=1;a<20;a++)
for(b=1;b<33;b++)
for(c=1;c<100;c++)
if(a+b+c==100 && 5*a+3*b+1*c==100)
n++;
{ printf("\n%d",n);
}
}
[此贴子已经被作者于2006-6-16 14:00:39编辑过]
----------------解决方案--------------------------------------------------------
0就是没符号条件啦。
----------------解决方案--------------------------------------------------------
这个怎么会有解呢???????????????????
A+B+C=100 了 A,B,C 都是很大的数,在乘以5的话你说可能吗?????????????????
----------------解决方案--------------------------------------------------------
以下是引用a1987217在2006-6-16 13:46:48的发言:
计算能满足a+b+c=100并且5a+3b+c=100的a,b,c有几组(排除a=0或b=0或c=0)?
我编了如下程序,计算结果总是为0组?这是为什么啊?
#include"stdio.h"
main()
{ int a,b,c,n=0;
for(a=1;a<20;a++)
for(b=1;b<33;b++)
for(c=1;c<100;c++)
if(a+b+c==100 && 5*a+3*b+1*c==100)
n++;
{ printf("\n%d",n);
}
}
计算能满足a+b+c=100并且5a+3b+c=100的a,b,c有几组(排除a=0或b=0或c=0)?
我编了如下程序,计算结果总是为0组?这是为什么啊?
#include"stdio.h"
main()
{ int a,b,c,n=0;
for(a=1;a<20;a++)
for(b=1;b<33;b++)
for(c=1;c<100;c++)
if(a+b+c==100 && 5*a+3*b+1*c==100)
n++;
{ printf("\n%d",n);
}
}
考虑负数才有解! 如果解都是正数,显然第二个式子比第一个大,无解
----------------解决方案--------------------------------------------------------
数学问题啊考虑负数是无限解
----------------解决方案--------------------------------------------------------
以下是引用aiyuheng在2006-6-16 15:39:05的发言:
数学问题啊考虑负数是无限解
嘿嘿,很久没见了!过得好吧,继续加油!
----------------解决方案--------------------------------------------------------
会出现负数?? 可是我怎么看都不觉得算法有错啊
for(a=1;a<20;a++)
for(b=1;b<33;b++)
for(c=1;c<100;c++)
a b c 的初始值是1 在++后就更 不可能有负数了
难道我一直都搞出了这个算法吗 有哪位高手可以指点一下吗
还有 这个在我的电脑上都不可以运行啊 大汗!
----------------解决方案--------------------------------------------------------
错了 是不可以编译
----------------解决方案--------------------------------------------------------
汗 错了 呵呵 是我看错了
----------------解决方案--------------------------------------------------------
??
以下是引用a1987217在2006-6-16 13:46:48的发言:
计算能满足a+b+c=100并且5a+3b+c=100的a,b,c有几组(排除a=0或b=0或c=0)?
我编了如下程序,计算结果总是为0组?这是为什么啊?
#include"stdio.h"
main()
{ int a,b,c,n=0;
for(a=1;a<20;a++)
for(b=1;b<33;b++)
for(c=1;c<100;c++)
if(a+b+c==100 && 5*a+3*b+1*c==100)
n++;
{ printf("\n%d",n);
}
}
计算能满足a+b+c=100并且5a+3b+c=100的a,b,c有几组(排除a=0或b=0或c=0)?
我编了如下程序,计算结果总是为0组?这是为什么啊?
#include"stdio.h"
main()
{ int a,b,c,n=0;
for(a=1;a<20;a++)
for(b=1;b<33;b++)
for(c=1;c<100;c++)
if(a+b+c==100 && 5*a+3*b+1*c==100)
n++;
{ printf("\n%d",n);
}
}
按照你的算法应该肯定是0个,因为a,b,c在你的程序中都是正数。所以5a+3b+c>a+b+c.不会有正数解
----------------解决方案--------------------------------------------------------