qianshang666 发表于 2020-11-25 17:53:51

大神能给个具体说明吗,急

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

风过无痕1989 发表于 2020-11-25 21:22:04

本帖最后由 风过无痕1989 于 2020-11-25 22:09 编辑

加点注释吧,不然你费解,问东问西的,我也没那么多时间来回答你
#include<stdio.h>
void main()
{
        int a, i = 0, n = 0;
        do
        {
                n += 9;                                  //王子数为9的倍数
                a = n;
                for (i = n - 1;i >= 1;i--)
                {
                        if (a % 9 != 0)
                                break;                        // 数目不符跳出 for 循环
                        else
                                a = a * 10 / 9 + i;   // 计算到第 i 个王子时剩余的份数
                }
        } while (i >= 1);                           // 当 i>= 1 时继续循环
        printf("共有%d个儿子,财产分为%d份", n, a);
        getchar();
}

qianshang666 发表于 2020-11-25 22:20:46

风过无痕1989 发表于 2020-11-25 21:22
加点注释吧,不然你费解,问东问西的,我也没那么多时间来回答你

谢谢大佬

qianshang666 发表于 2020-11-26 01:24:11

风过无痕1989 发表于 2020-11-25 21:22
加点注释吧,不然你费解,问东问西的,我也没那么多时间来回答你

大佬,你能说一下这个算法思想吗,研究了一下午,有些地方还是有点问题
页: [1]
查看完整版本: 大神能给个具体说明吗,急