C ++中重复追加形成的数字的递归数字总和
给定两个整数'number'和'repeat'作为输入。目标是计算重复“重复”次数的输入数字的数字总和,直到总和变为一位数。这样做直到获得的数字和数字变成一个数字。如果输入的数字是123并且重复=2,那么123123的数字总和将是1+2+3+1+2+3=12,这不是一位数字。现在12的数字和是1+2=3。输出将为3
让我们看看这个的各种输入输出场景
输入 -数量=32重复=3
输出 -由重复追加形成的数字的递归数字总和为:6
说明-323232的数字总和为3+2+3+2+3+2=15,15的数字总和为1+5=6。6是个位数,因此输出将为6。
输入 -数量=81重复=4
输出 -由重复追加形成的数字的递归数字总和为:9
说明−81818181的位数和为1+8+1+8+1+8+1+8=36,36的位数和为3+6=9。9是个位数,因此输出将为9。
下面程序中使用的方法如下
将两个整数类型变量声明为数字并重复。将数据作为传递给函数Recursive_Sum(number,repeat)。
在函数内部为Recursive_Sum(intnumber,intrepeat)
声明一个整数变量为total并用重复*设置它sum(number);
将对该函数的调用返回为sum(total)。
在函数内部为sum(intnumber)
检查IF编号为0,然后返回0。
检查IFnumber%9是0然后返回9。
ELSE,返回数字%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(number, repeat);
return 0;
}输出结果如果我们运行上面的代码,它将生成以下输出
由重复追加形成的数字的递归数字总和为: 3