zoukankan      html  css  js  c++  java
  • I00008 百鸡问题

    这个问题出自《张邱建算经》卷下


    百鸡问题通常用试探法来解决,另外的方法是用求不定方程整数解的方法来解决这个问题。

    试探法程序中,各种参数用宏定义来给定比较合适。如果将本程序用于求解其他问题,只需要修改这些宏定义。有了这个程序,很容易将这些宏定义值改为程序输入。

    程序中分别用i,j,k表示鸡翁、鸡母和鸡鶵所卖的钱数,从0到最大的可能进行试探。

    程序如下:

    /* 百鸡问题:今有鸡翁一,值钱伍;鸡母一,值钱三;鸡鶵三,值钱一。
     * 凡百钱买鸡百只,问鸡翁、母、鶵各几何?
     * 答曰:鸡翁四,值钱二十; 鸡母十八,值钱五十四;鸡鶵七十八,值钱二十六。
     * 又答:鸡翁八,值钱四十;鸡 母十一,值钱三十三,鸡鶵八十一,值钱二十七。
     * 又答:鸡翁十二,值钱六十;鸡母四、值钱十二;鸡鶵八十 四,值钱二十八。
     */
    
    #include <stdio.h>
    
    #define COIN 100
    #define N 100
    
    #define N1 5
    #define N2 3
    #define N3 3
    
    int main(void)
    {
        int i, j, k;
    
        for(i=0; i<= COIN / N1; i++)
            for(j=0; j<= COIN / N2; j++)
                for(k=0; k<=N; k+=N3)
                    if(i*N1 + j*N2 + k/N3 == COIN && i+j+k == N)
                        printf("%d, %d, %d
    ", i, j, k);
    
        return 0;
    }
    程序运行结果如下:

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



    
  • 相关阅读:
    php程序员的弱点
    php cli 模式下执行文件,require 加载路径错误
    第一次!
    IO流(一)之IO流综述
    异常和错误
    Comparable与Comparator比较分析
    Collection与Map学习笔记(三)
    两个对象比较
    Collection与Map学习笔记(二)
    包装类、及装箱和拆箱
  • 原文地址:https://www.cnblogs.com/tigerisland/p/7564890.html
Copyright © 2011-2022 走看看