如何将整数的所有数字添加到单个数字之前?

时间:2015-12-24 19:28:15

标签: c++

如果我的问题不明确。这是完整的描述:

考虑,n = 653;所以我想添加所有三位数,如6 + 5 + 3 = 14。 但它仍然不是一位数,所以我再次做1 + 4 = 5.现在它是按预期的,我该怎么做? 'n'可以包含任何整数。 我搜索并找到了如何分开数字。比我开始编写代码。但是我被困住了。我也发现了与我的问题类似的东西,但这对我来说并不清楚。我没有分享我未解决的代码,因为我想自己完成它。但我也很无奈。如果你告诉我怎么能这样做,那将会非常有帮助。对不起,如果问题不能安慰你。

2 个答案:

答案 0 :(得分:5)

您需要结果进程吗?如果你关心的只是结果,那么sum of sum of sum ... of digits可以找到:

int num = 653
int sum = num % 9;
if (sum == 0)
    sum = 9; 

答案 1 :(得分:0)

好的,策略是在这里申请。您需要总结多少个数字?在你的情况下3.让我们看看任何数字:

int sum = 0;
while( (n / 10) != 0 ) // break if the divsion is zero, meaning number go too small
{
  sum += (n%10); // tell me about the rest and sum it
  n = n / 10; // reduce n by dividing by ten
}

现在设置n = sum并重复。是的,通过递归,它可以在外面添加另一个while循环。

如果数字小于除数本身,如果是整数,则得到0.使用模运算得到除法的其余部分。

使用

sum = num % 9;

似乎是一种更快捷的方式。