【习题6.4】5户共井问题 - 教程

5户共井难题。有A,B,C,D,E 5家人共用一口井,已知井深不超过10m。A,B,C,D,E的绳长各不相同,从井口放下绳索正好到达水面时,

(a) 需要A家的绳2条接上B家的绳1条;

(b) 需要B家的绳3条接上C家的绳1条;

(c) 需要C家的绳4条接上D家的绳1条;

(d) 需要D家的绳5条接上E家的绳1条;

(e) 需要E家的绳6条接上A家的绳1条。

问井深和各家绳长。

//************************************************
//* Source Name: ChapterSix_ExerciseFour.cpp
//* Founction  : 5 househole have a common well problem
//* Author	   : Skyera
//* Create Time	   : 2025-7-28
//* Modify	   :
//* Modify Time:
//************************************************
#include
using namespace std;
int main()
{
// 井深不超过10米,即1000厘米(题目可能存在单位表述问题,此处按厘米计算)
for(int h = 1; h <= 1000; h++)
{
// 根据推导的721a = 265h,a必须为正整数
if(265 * h % 721 != 0)
continue;
int a = 265 * h / 721;
if(a <= 0)
continue;
// 计算b并检查是否为正整数
int b = h - 2 * a;
if(b <= 0)
continue;
// 计算c并检查是否为正整数
int c = h - 3 * b;
if(c <= 0)
continue;
// 计算d并检查是否为正整数
int d = h - 4 * c;
if(d <= 0)
continue;
// 计算e并检查是否为正整数
int e = h - 5 * d;
if(e <= 0)
continue;
// 验证最后一个条件
if(6 * e + a != h)
continue;
// 检查所有绳长是否互不相同
if(a != b && a != c && a != d && a != e &&
b != c && b != d && b != e &&
c != d && c != e &&
d!=e)
{
cout << "井深: " << h << "厘米" << endl;
cout << "A家绳长: "  << a << "厘米" << endl;
cout << "B家绳长: "  << b << "厘米" << endl;
cout << "C家绳长: "  << c << "厘米" << endl;
cout << "D家绳长: "  << d << "厘米" << endl;
cout << "E家绳长: "  << e << "厘米" << endl;
}
}
}

posted @ 2025-07-29 16:32  wzzkaifa  阅读(7)  评论(0)    收藏  举报