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

#include<stdio.h>
void main()
{
int a[100], i = 0, n = 0;//n为儿子的个数
do
{
n = n + 9;
a[n] = n;
for (i = n - 1;i >= 1;i--)
{
if (a[i + 1] % 9 != 0)
break;
else
a[i] = a[i + 1] * 10 / 9 + i;
printf("a[i]:%d a[i]:%d ",i,a[i]);
}
}while(i>=1);
printf("共有%d个儿子\n财产分为%d份", n, a[1]);
}
想问下大佬们王子个数为什么是9个,
能不能用递归算法把这道题求出来。
