C语言(百钱买百鸡问题)

题目描述:公鸡五文钱一只,母鸡三文钱一只,小鸡三只一文钱,用100文钱买100只鸡,公鸡、母鸡、小鸡各买多少只?
本程序要求解的问题是:给定一个正整数n,用n文钱买n只鸡,问公鸡、母鸡、小鸡各买多少只?
解题思路,我们将公鸡和母鸡小鸡的个数全部遍历一次,找到符合条件的个数打印,公鸡5员一只所以最多可以吗n/5只,母鸡小鸡类似
源码如下:
int main()//百钱买百鸡问题
{
int i = 0;
int j = 0;
int k = 0;
int flag = 0;
int n = 0;
scanf_s("%d", &n);
for ( i = 0; i < n/5; i++)//枚举公鸡
{
for ( j = 0; j < n/3; j++)//枚举母鸡
{
k = n - i - j;//小鸡用总数减去公鸡和母鸡
if (15 * i + 9 * j + k == 3*n)//将等式扩大3倍,分数可能导致误差。
{
flag = 1;
printf("%4d%4d%4d \n", i, j, k);
}

	}

}
if (flag == 0)//如果flag经过以上循环依然没有变化,说明不满足i条件无解。
{
	printf("No Answer");
}
return 0;

}

猜你喜欢

转载自blog.csdn.net/Kirihara_Yukiho/article/details/123505235
今日推荐