1075: 聚餐人数统计

这篇文章介绍了一个编程问题,要求通过穷举法找出给定人数m和总花费n的情况下,男人、女人和小孩的具体数量组合。程序给出了一个C语言实现并输出了所有可能的解,如果无法找到满足条件的解,则输出Noanswer。
摘要由CSDN通过智能技术生成

题目描述

马克思手稿中有这样一道趣味数学题:男人、女人和小孩总计m个人,在一家饭店里吃饭,共花了n先令,每个男人各花3先令,每个女人各花2先令,每个小孩各花1先令,请用穷举法编程计算男人、女人和小孩各有几个。

输入

输入两个正整数,表示人数m和花费n。

输出

若问题有解,则输出所有解,每行输出三个数据,代表男人、女人和小孩的人数,用空格分隔;若问题无解,则输出“No answer"。

#include<stdio.h> 
int main()
{
    int m,n;
    int f=1;
    int i,j,k=0;
    scanf("%d%d",&m,&n);
    for(i=0;i<=m;i++) 
     for(j=0;j<=m;j++)
     {
          k=m-i-j;
         if(i*3+j*2+k==n&&i+j+k==m)//用钱数关系和人数关系确定i,j,K
         {
             printf("%d %d %d\n",i,j,k);
             f=0;
         }
     }
     if(f==1)
     printf("No answer");
    return 0;
}

结果显示:

30 50
0 20 10
1 18 11
2 16 12
3 14 13
4 12 14
5 10 15
6 8 16
7 6 17
8 4 18
9 2 19
10 0 20

--------------------------------
Process exited after 3.104 seconds with return value 0
请按任意键继续. . .

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值