国王分财产问题 要求用c++编写 直接一点

发布于2022-01-12 19:27:29

某国王临终前给儿子们分财产。他把财产分为若干份,然后给第一个儿子一份,再加上剩余财产的1/10;给第二个儿子两份,再加上剩余财产的1/10;……;给第i个儿子i份,再加上剩余财产的1/10。每个儿子都窃窃自喜。以为得到了父王的偏爱,孰不知国王是“一碗水端平”的。请用程序回答,老国王共有几个儿子?财产共分成了多少份?

4个回答
admin
网友回答2022-01-12
不对啊? 这好像是个无穷递归的情况啊~~ 每个人都得到1份,然后那剩余的1/10,那剩余还有“剩余的9/10”啊。。。 难道这个“剩余”是指分成若干份以后,剩下的“剩余”? 如果是的话,实际上就是10个罗。。。
admin
网友回答2022-01-12
#include <stdio.h> int main(void) { int x; double d1, d2; for (x = 2; x > 0; ++x) { d1 = 1.0+(x-1)/10; d2 = 2.0+(x-d1-2)/10; if (d1 - d2 < 0.000001 && d1 - d2 > -0.000001) { break;//这样可以得到一个答案 } } printf("%d\n", x); printf("%d\n", (int)(x*1.0/d1)); return 0; } #include <stdio.h> int main(void) { int x; double d1, d2; for (x = 2; x < 100000; ++x) { d1 = 1.0+(x-1)/10; d2 = 2.0+(x-d1-2)/10; if (d1 - d2 < 0.000001 && d1 - d2 > -0.000001) { printf("份数:%5d 儿子数:%d\n", x, (int)(x*1.0/d1)); } } return 0; } //这样看你取最大值多少,若要尝试所有整数,则可写判断条件为 x > 0 因为整数过大,这样要循环很久。
admin
网友回答2022-01-12
子提出
admin
网友回答2022-01-12
ddd

回到
顶部