0
点赞
收藏
分享

微信扫一扫

1074: 百钱买百鸡

at小涛 2022-01-05 阅读 128
蓝桥杯c++

题目描述

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

输入

输入一个正整数n(n<=100)。

输出

如果有解,种组合占一行,包含公鸡、母鸡、小鸡的个数,用正整数表示,每个数据占4列。公鸡母鸡小鸡个数均大于等于0,按公鸡数目从小到大输出,公鸡数目相同按母鸡数目从小到大输出,以此类推。如果无解,输出“No Answer”。

样例输入 Copy

100

样例输出 Copy

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

源码:(写个方程式就行)

#include <iostream>
#include <iomanip>
#include <math.h>
using namespace std;
struct chiken
{
    int Rooster;
    int hens;
    int child;
    chiken* next;
};

int main() {
    int n;
    cin >> n;
    chiken* head;
    chiken* p;
    chiken* t;
    p = new chiken();
    head = p;
    t = p;
    for (int i = 0;i <= n;i++) {
        if ((n - (7 * i)) % 4 == 0 &&(n-(7*i))>=0) {
            p = new chiken();
            p->Rooster = i;
            p->hens = (n - 7 * i) / 4;
            p->child = n - p->hens - p->Rooster;
            t->next = p;
            t = t->next;
        }
    } 
    head = head->next;
    if (head == nullptr) {
        cout << "No Answer";
    }
    else
    {
        while (head != nullptr) {
            cout << setiosflags(ios::right);
            cout << setw(4) << head->Rooster << setw(4) << head->hens << setw(4) << head->child << endl;
            head = head->next;
        }
    }

}
举报

相关推荐

0 条评论