国王分财产具体算法思想有大佬说一下嘛
国王分财产。某国王临终前给儿子们分财产。他把财产分为若干份,然后给第一个儿子一份,再加上剩余财产的1/10;给第二个儿子两份,再加上剩余财产的1/10;…;给第i个儿子i份,再加上剩余财产的1/10。每个儿子都窃窃自喜。以为得到了父王的偏爱,孰不知国王是“一碗水端平”的。请用程序回答,老国王共有几个儿子?财产共分成了多少份?#include<stdio.h>
void main()
{
int a[100], i = 0, n = 0;
do
{
n += 9; //王子数为9的倍数
a[n] = n;
for (i = n - 1;i >= 1;i--)
{
if (a[i + 1] % 9 != 0)
break; // 数目不符跳出 for 循环
else
a[i] = a[i + 1] * 10 / 9 + i; // 计算到第 i 个王子时剩余的份数
}
} while (i >= 1); // 当 i>= 1 时继续循环
printf("共有%d个儿子,财产分为%d份", n, a[1]);
getchar();
}