【C语言必刷题】7. 百钱百鸡

简介: 【C语言必刷题】7. 百钱百鸡


1. 题目描述

百鸡百钱是我国古代数学家张丘建在《算经》一书中提出的数学问题:“鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?”

意思就是: 一百块钱, 买一百只鸡, 公鸡,母鸡,小鸡各买多少只?


2. 解题思路

  1. 定义变量i,j,n表示公鸡, 母鸡, 小鸡的只数
  2. 穷举公鸡,母鸡小鸡的数量
  1. 公鸡: 五元一只,最多买20只
  2. 母鸡: 三元一只,最多买33只
  3. 小鸡: 一元三只,最多买99只
  1. 判断数量是否等于100, 并且总金额也等于100, 如果两个条件同时成立则打印公鸡, 母鸡, 小鸡的数量


3. 代码:

#include<stdio.h>

int main()
{
  int i = 0; // 表示公鸡的个数
  int j = 0; // 表示母鸡的个数
  int n = 0; // 表示小鸡的个数

  // 公鸡最多能买20只
  for (i = 1; i <= 20; i++)
  {
    // 母鸡最多能买33只
    for (j = 1; j <= 33; j++)
    {
      // 小鸡的数量是3的倍数,且小于等于99只
      for (n = 3; n <= 99; n += 3)
      {
        // 满足总金额等于100,并且总鸡数等于100的条件
        if ((i * 5 + j * 3 + n / 3 == 100) && (i + j + n == 100))
        {
          printf("公鸡:%d只 母鸡:%d只 小鸡:%d\n", i, j, n);
        }
      }
    }
  }

  return 0;
}


运行结果:



相关文章
|
7月前
|
C语言
【C语言必刷题】4. 打印100~200之间的素数
【C语言必刷题】4. 打印100~200之间的素数
|
7月前
|
C语言
【C语言必刷题】6. 水仙花数
【C语言必刷题】6. 水仙花数
|
7月前
|
C语言
【C语言必刷题】5.判断闰年
【C语言必刷题】5.判断闰年
|
7月前
|
算法 C语言
【C语言必刷题】3.二分查找
【C语言必刷题】3.二分查找
|
7月前
|
C语言
【C语言必刷题】2. 9*9乘法表
【C语言必刷题】2. 9*9乘法表
|
7月前
|
C语言
【C语言必刷题】1.打印1~100之间的奇数
【C语言必刷题】1.打印1~100之间的奇数
|
C语言
C语言之——入门必刷题(3)
C语言之——入门必刷题(3)
92 1
|
C语言
C语言之——入门必刷题(2)(下)
C语言之——入门必刷题(2)
316 0
|
C语言
C语言之——入门必刷题(2)(上)
C语言之——入门必刷题(2)
105 0
|
C语言
C语言之 ——入门必刷题 (1)
C语言之 ——入门必刷题 (1)
91 0