main(){i,s=1;for(i=1;i<50;i++)if(!(i%5)&&(i%3)) s+=i;printf("%d尀n",s);}

为什么答案等于91啊!
2025-03-04 21:11:33
推荐回答(4个)
回答1:

楼主这题抄错了 在(i%3)之前还有个!main(){i,s=1;for(i=1;i<50;i++)if(!(i%5)&&!(i%3))s+=i;printf("%d\n",s);}这样的话答案就是91;此题表明只有同时被5和3整除的数才符合相加的条件,1~49之间满足这个条件的只有15,31,45,因为s的初始值是1,所以s=1+15+31+45=91.是的吧,要细心点。

回答2:

if(!(i%5)&&(i%3)) 这个条件就是 i 这个数能被5整除 且不能被3 整除,在 1 -- 49 中,这样的数:
5 10 20 25 35 40
其和是135,再加上 s的初值1就是136,所以s等于136

回答3:

答案是136 你如果等于91编译器可以比较古老

回答4:

你是用哪个编译器啊?我在vc6.0上写了,结果是136!