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(int number, int repeat)

    • 声明一个整数变量为 total 并用重复 * 设置它sum(number);

    • 将对该函数的调用返回为sum(total)。

  • 在函数内部为 sum(int number)

    • 检查 IF 编号为 0,然后返回 0。

    • 检查 IF number % 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

以上是 C ++中重复追加形成的数字的递归数字总和 的全部内容, 来源链接: utcz.com/z/331671.html

回到顶部