首页 文章资讯内容详情

C ++中重复追加形成的数字的递归数字总和

2026-06-02 1 花语

给定两个整数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