百钱百鸡——求一重循环解决问题的解法
如题,百钱百鸡的问题描述:100钱怎么样买100只鸡,公鸡单价5钱,母鸡单价3钱,小鸡三只1钱;求只用一个循环解出这个问题。
程序代码:
#include <stdio.h> int main(void) { int i=0,j=1,k,m=5,g=3,x=1,s=100; while(1) { k=(s-i-j)/3; if(i*m+j*g+k*x==s&&i+j+k*3==s) printf("%d %d %d\n",i,j,k*3); if(i>=(s-g-x)/m)break; if(j>=(s-m-x)/g)i++,j=1; j++; } return 0; }
[ 本帖最后由 UserYuH 于 2009-10-26 17:07 编辑 ]