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
3.[图片] 2.GIF