百钱百鸡问题
方法一:
#include <stdio.h>
int main()
{
int cock,hen,chicken;
for(cock=0;cock<20;cock++)
for(hen=0;hen<=33;hen++)
for(chicken=0;chicken<100;chicken++)
{if((cock+chicken+hen==100)&&(5*cock+3*hen+chicken/3.0==100))
printf("cock=%2d,hen=%2d,chicken=%2d\n",cock,hen,chicken);}
return 0;
}
方法二:
#include <stdio.h>
int main()
{
int cock,hen,chicken;
for(cock=0;cock<20;cock++)
for(hen=0;hen<=33;hen++)
{chicken=100-cock-hen;
if(5*cock+3*hen+chicken/3.0==100)
printf("cock=%2d,hen=%2d,chicken=%2d\n",cock,hen,chicken);}
return 0;
}
总结:方法一计算次数要多,但相比方法二稍微好理解

浙公网安备 33010602011771号