五家共井java_算法练习02:五家共井

1.[代码][Java]代码

package com.kay.day02;

import org.junit.Test;

/**

*

*

Title: Run

*

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

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

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

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

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

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

* @author kay

*/

public class Run {

/**

* 如果甲为a,乙为b,丙为c,丁为d,戊为e。可得到方程组

* a=b+c/2

* b=c+d/3

* c=d+e/4

* d=e+a/5

*/

public void Test(){

int a = 0, b = 0, c = 0, d = 0, e = 0, h = 0;

boolean flag = true;

while(flag){

e += 4;

a = 0;

while(flag){

a += 5;

d = e + a / 5;

c = d + e / 4;

if (c % 2 != 0)

continue;

if (d % 3 != 0)

continue;

b = c + d / 3;

if (b + c / 2 < a)

break;

if (b + c / 2 == a)

flag = false;

}

}

h = 2 * a + b;

System.out.println("a = " + a + ";b = " + b + ";c = " + c + ";d = " + d + ";e = " + e + ";h = " + h);

}

/**

* 如果用数学方法进行推算,就可以得到

* a=265k

* b=191k

* c=148k

* d=129k

* e=76k

* x=721k

* 因为k>0,可以有无数个解,这里只取1..5

*/

@Test

public void Test1(){

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;

System.out.println("a = " + a + ";b = " + b + ";c = " + c + ";d = " + d + ";e = " + e + ";h = " + h);

}

}

}

2.[图片] 捕获.GIF

28225354_CZK2.gif

3.[图片] 2.GIF

28225354_I57e.gif

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值