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