我正在做一个评估练习。
给定一个数字,例如12345,我必须找出给定数字(1 + 2 +3 + 4 +5)的数字的和序列,然后加上结果(15),并重复此操作,直到最后一个数字的和序列是一个数字(在这种情况下是6)。
例子: 12345 + 15 + 6 = 12366;
666 + 24 + 6 = 696;
我一直在考虑将数字存储在数组中,但后来我意识到数组的大小是静态的。现在我想做一个链表,但我不是很确定。它涉及到链表吗?
请指引我正确的道路。我应该用什么?
这里不需要魔法。只需对整数进行明显的计算:
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;
}