int main()
{
int x,y;//x大螃蟹,y半大螃蟹
int n = 0;
for(x=0;x*5<100;x++)
{
for(y=0;3*y<100;y++)
{
if((100-x-y)%3==0)
{
if(5*x + 3*y+ (100-x-y)/3==100)
{
printf("big:%d, mid:%d, small:%d\n",x,y,100-x-y);
n++;
}
}
}
}
printf("\nThere are %d solutions.",n);
return 0;
}
这个就是百鸡百钱问题,我给你看一下代码:
#include<"stdio.h">
void main(){
int bigCrab; //定义大螃蟹的数量
int halfBigCrab; //定义半大螃蟹的数量
int smallCrab; //定义小螃蟹的数量
int count = 0; //定义输出结果的编号
//大螃蟹100元钱能买100 / 5 = 20只
for (bigCrab= 0; bigCrab<= 20; bigCrab++) {
//半大螃蟹100元钱 能买100 / 3 = 33只,还多1元钱
for (halfBigCrab= 0; halfBigCrab<= 33; halfBigCrab++) {
//三种螃蟹的只数总和是100只,故只要确定大螃蟹和半大螃蟹的只数,就能确定小螃蟹的只数
smallCrab= 100 - bigCrab- halfBigCrab;
//三种螃蟹的总价格是100元,故以此为条件分别输出所有螃蟹的只数
if (5 * bigCrab+ 3 * halfBigCrab+ smallCrab/ 3.0 == 100) {
count++; //输出结果的编号自增
printf("%d.%d大螃蟹的数量是:%d只,半大螃蟹的数量是:%d只,小螃蟹的数量是:%d只。\n",bigCrab,halfBigCrab,smallCrab);
}
}
}
}
}