ZZULIOJ1075: 聚餐人数统计

#include <stdio.h>
#include <math.h>
int main()
{
   int a,b,c,n,cost,flag=0;//a男人 b女人 c小孩 n输入的人数  cost输入的花费  flag标志数
   scanf("%d %d",&n,&cost);
   for(a=0;a<=cost/3;a++)//假设cost=12,男人的最大人数为12/3=4人,可得男人的最大人数等于总花费/3 
   {
   	for(b=0;b<=cost/2;b++)//假设cost=12,女人的最大人数为12/2=6人,可得女人的最大人数等于总花费/2
	   {
	   	c=n-a-b;
	   	if(c>=0&&a+b+c==n&&3*a+2*b+c==cost)//设置小孩的人数大于等于0,不然输出将包括负数情况,abc满足数量关系式则答案成立,反之题目无解 
	   	{
		 flag=1;//标志数改变寻找到答案 
	   	 printf("%d %d %d\n",a,b,c);	
		}
	   }
   } 
   if(flag==0)//标志数不变题目无解 
   {
   	printf("No answer");
   }
   return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值