1074: 百钱买百鸡

题目描述

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

输入

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

输出

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

样例输入

100

样例输出

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

来源

#include<stdio.h>
#define TRUE 1 
#define FALSE 0 
 
int main(void) 

    int x, y, z, n, NoAnswer; 
 
    scanf("%d", &n); 
    NoAnswer = TRUE; 
    for(x = 0; x <= n/5; x++)  //穷举公鸡个数 
        for(y = 0; y <= n/3; y++) //穷举母鸡个数 
        { 
            z = n - x - y;  //其余是鸡仔 
            if(15 * x + 9 * y + z == n *3 )  //注意避免浮点运算 
            { 
                printf("%4d%4d%4d ", x, y, z); 
                NoAnswer = FALSE; 
            } 
        } 
    if(NoAnswer == TRUE) 
        printf("No Answer "); 
    return 0; 

原文地址:https://www.cnblogs.com/binanry/p/9234128.html