五家共井问题

题目:

古代数学巨著《九章算数》中有这么一道题叫“五家共井,甲二绠(汲水用的井绳)不足,如(接上)乙一绠;乙三绠不足,如丙一绠;

丙四绠不足,如丁一绠;丁五绠不足,如戊一绠;戊六绠不足,如甲一绠,皆及。

意思就是说五家人共用一口井,甲家的绳子用两条不够,还要再用乙家的绳子一条才能打到井水;乙家的绳子用三条不够,还要再用丙家的绳子

一条才能打到井水;丙家的绳子用四条不够,还要再用丁家的绳子一条才能打到井水;丁家的绳子用五条不够,还要再用戊家的绳子一条才能打

到井水;戊家的绳子用六条不够,还要再用甲家的绳子一条才能打到井水。

最后问:井有多深?每家的绳子各有多长?

看了遍题目,发现还是一道方程题目,想到百鸡百钱问题,便想让他归一化,设置一个中间变量,让这个中间变量去表示所有的其他变量,简化计算机计算次数。从而做到优化。

代码如下:

 
/**
 * @Author Peter_S
 * @Date 2018/6/4
 */
public class Ces2 {
    /**
     *古代数学巨著《九章算数》中有这么一道题叫
     * “五家共井,甲二绠(汲水用的井绳)不足,
     * 如(接上)乙一绠;乙三绠不足,如丙一绠;
     * 丙四绠不足,如丁一绠;丁五绠不足,如戊一绠;
     * 戊六绠不足,如甲一绠,皆及。
     *
     */
    public static void main(String[] args) {
        for (int k = 1;k<5;k++){
            int h = 721*k;
            int a = 265*k;
            int b = 191*k;
            int c = 148*k;
            int d = 129*k;
            int e = 76*k;
            if (2*a+b==h && 5*d+e==h){//取两个方程式作为检验
                System.out.println("甲" + a + "米;乙" + b + "米;丙" + c + "米;丁" + d + "米;戊" + e + "米");
                System.out.println("井深" + h + "米");
            }
        }
    }
}

结果如下:

甲265米;乙191米;丙148米;丁129米;戊76米
井深721米
甲530米;乙382米;丙296米;丁258米;戊152米
井深1442米
甲795米;乙573米;丙444米;丁387米;戊228米
井深2163米
甲1060米;乙764米;丙592米;丁516米;戊304米
井深2884米

参考原网址:

http://www.cnblogs.com/huangxincheng/archive/2012/08/06/2625427.html

原网址上写的更详细一点

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值