如何实现这个练习(动态数组)

How to implement this exercise (dynamic array)?

本文关键字:练习 动态 数组 实现 何实现      更新时间:2023-10-16

我正在做一个评估练习。

给定一个数字,例如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; 
}