百钱百鸡问题

百钱买百鸡问题:公鸡五文钱一只,母鸡三文钱一只,小鸡三只一文钱,用 100 文钱买 100 只鸡,公鸡、母鸡、小鸡各买多少只?

本程序要求解的问题是:给定一个正整数 n,用 n 文钱买 n 只鸡,问公鸡、母鸡、小鸡各买多少只?

输入格式

输入一个正整数 n。

输出格式

如果有解,依次输出公鸡、母鸡、小鸡的个数(用正整数表示)。

如果无解,输出"No Answer."

数据范围

1≤n≤200。

输入样例

100

输出样例

0 25 75
4 18 78
8 11 81
12 4 84

解题思路:1.输入正整数n,用n钱买n只鸡;

2.先利用循环枚举出公鸡的可能情况;

3.在公鸡满足的情况下再利用循环找到母鸡的可能情况;

4.在公鸡和母鸡都满足的情况下用n减去公鸡和母鸡的数;

5.判断用n钱买n只鸡能不能实现;

6.按题目要求输出;

#include<stdio.h>
int main()
{
	int n,a,b,c,flag=0;//定义变量 
	scanf("%d",&n);//输入正整数n 
	for(a=0;a<=n/5;a++){//计算公鸡的个数 
		for(b=0;b<=n/3;b++){//计算母鸡的个数 
			c=n-a-b;//计算小鸡的个数 
			if(5*a+3*b+c/3.0==n){//判断钱数 
			printf("%d %d %d\n",a,b,c);//输出可能的解 
			flag=1;
		    }
		}
	}
	if(flag==0) printf("No Answer.\n");//若无解按要求输出 
	return 0;
 } 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值