我喜欢评估练习。
所以给定一个数字,例如12345,我必须找出给定数字(1 + 2 + 3 + 4 +5)的数字的总和序列,然后将结果(15)加到其上,然后重复这直到最后一个数字的总和序列是一个数字(在这种情况下是6)。
示例: 12345 + 15 + 6 = 12366;
666 + 24 + 6 = 696;
我认为将数字存储在数组中,但后来我意识到数组的大小是静态的。现在我想要制作链表,但我不太确定。它是否涉及链接列表?
引导我走正确的道路。我该怎么用?
答案 0 :(得分:2)
这里没有魔法需要。只需对整数进行明显的计算:
int reduce(int n)
{
int result = 0;
while (n != 0) { result += n % 10; n /= 10; }
return result;
}
int your_problem(int n)
{
int result = n;
while (n >= 10) { n = reduce(n); result += n; }
return result;
}