7-191 百钱百鸡

分数 10

全屏浏览题目

切换布局

作者 老段

单位 成都锦城学院

1、中国古代数学家张丘建在他的《算经》中提出了著名的“百钱买百鸡问题”:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁、母、雏各几何?
要求:
给出所有的解,每组解占一行
解的顺序:按“字典序”排列,即公鸡数少的在前;公鸡数相同,母鸡数少的在前。

输入格式:

输出格式:

cock=%d,hen=%d,chicken=%d\n

输入样例:

在这里给出一组输入。例如:

输出样例:

在这里给出相应的输出。例如:

cock=0,hen=25,chicken=75
cock=4,hen=18,chicken=78
cock=8,hen=11,chicken=81
cock=12,hen=4,chicken=84

方法一: 

#include<stdio.h>
int main(){
   方法一
    for(int x=0;x<100;x++){
        for(int y=0;y<100;y++){
            for(int z=3;z<100;z+=3){
                if((x*5+y*3+z/3)==100 && x+y+z==100){
                    printf("cock=%d,hen=%d,chicken=%d\n",x,y,z);
                }
            }
        }
    }
  return 0;
}

 方法二:

#include<stdio.h>
int main(){
//    方法一
//     for(int x=0;x<100;x++){
//         for(int y=0;y<100;y++){
//             for(int z=3;z<100;z+=3){
//                 if((x*5+y*3+z/3)==100 && x+y+z==100){
//                     printf("cock=%d,hen=%d,chicken=%d\n",x,y,z);
//                 }
//             }
//         }
//     }
//   return 0;
// }
    
    //方法二
        for(int x=0;x<100;x++){
            for(int y=0;y<100;y++){
            //价格翻三倍 把小鸡拿出来 公鸡,母鸡,的价格 同时翻三倍
                if(x*15+y*9+(100-x-y)==3*100 && (100-x-y)%3==0){
                    //判断价格                      判断数量   小鸡的数量只能是3个3个的
                    printf("cock=%d,hen=%d,chicken=%d\n",x,y,100-x-y);
             }
        }
    }

    return 0;
}

这道题有两种方法 第一种的方法时间复杂度高

第二种方法使用的时间更少

下面这题跟这个是一样的 可以看看

(1条消息) 7-152 百钱百鸡_@pon的博客-CSDN博客

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@pon

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值