给定两个整数“number”和“repeat”作为输入。目标是计算重复“重复”次数的输入数字的数字总和,直到总和变成单个数字。如此下去,直到得到的数字之和变成一位数。如果输入数字是123并且repeat=2那么123123的数字和将是 1+2+3+1+2+3=12 这不是个位数。现在12的各位数字和是1+2=3。输出将为 3
输入− number=32 Repeat=3
输出− 重复追加形成的数字的递归数字和为:6
解释 − 323232 的数字和为 3+2+3+ 2+3+2=15,15的各位数字和为1+5=6。 6 是一位数字,因此输出将为 6。
输入 − number=81 Repeat=4
输出 −重复追加形成的数字的递归数字和为:9
解释 - 81818181 的数字和为 1+8+1+8+1+8+1+ 8=36,36的各位数字和为3+6=9。 9 是一位数字,因此输出将为 9。
声明两个整数类型变量如数字和重复。将数据作为 Recursive_Sum(number, Repeat) 传递给函数。
在函数内部作为 Recursive_Sum(int number, int Repeat)
声明一个整型变量为total,并用repeat * sum(number)设置它;
返回对函数的调用作为sum(total) .
在函数内部作为 sum(int number)
检查 IF 数字是否为 0,然后返回 0。
检查 IF 数字 % 9 是否为 0,然后返回 9。
ELSE, return number % 9
打印结果。
#include <bits/stdc++.h> using namespace std; int sum(int number){ if(number == 0){ return 0; } if(number % 9 == 0){ return 9; } else{ return number % 9; } } int Recursive_Sum(int number, int repeat){ int total = repeat * sum(number); return sum(total); } int main(){ int number = 12; int repeat = 4; cout<<"Recursive sum of digits of a number formed by repeated appends is: "<<Recursive_Sum(number, repeat); return 0; }
如果我们运行上面的代码,它将生成以下输出
Recursive sum of digits of a number formed by repeated appends is: 3
以上是递归求和一个由重复追加形成的数字的各位数字之和,使用C++实现的详细内容。更多信息请关注PHP中文网其他相关文章!