递归求和一个由重复追加形成的数字的各位数字之和,使用C++实现
给定两个整数“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中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

C++函数的递归深度受到限制,超过该限制会导致栈溢出错误。限制值因系统和编译器而异,通常在1000到10000之间。解决方法包括:1.尾递归优化;2.尾调用;3.迭代实现。

是的,C++Lambda表达式可以通过使用std::function支持递归:使用std::function捕获Lambda表达式的引用。通过捕获的引用,Lambda表达式可以递归调用自身。

VS代码和VisualStudioC++IntelliSense可能无法拾取库,尤其是在处理大型项目时。当我们将鼠标悬停在#Include<;wx/wx.h>;上时,我们看到了错误消息“CannotOpen源文件‘string.h’”(依赖于“wx/wx.h”),有时,自动完成功能无法响应。在这篇文章中,我们将看到如果VSCode和VSC++IntelliSense不能工作或不能提取库,你可以做些什么。为什么我的智能感知不能在C++中工作?处理大文件时,IntelliSense有时

有时候,我们在Word表格中会经常遇到计数的问题;一般遇到这样的问题,大部分同学都回把Word表格复制到Excel中来计算;还有一部分同学会默默地拿起计算器去算。那有没有快速的方法来计算呢?当然有啊,其实在Word中也是可以计算求和的。那么,你知道该怎么操作吗?今天,我们就来一起来看一下吧!废话不多说,有需要的小伙伴赶紧收藏起来吧!步骤详情:1、首先,我们打开电脑上的Word软件,打开需要处理的文档。(如图所示)2、接着,我们将光标定位在求和数值所在的单元格上(如图所示);然后,我们点击【菜单栏

递归算法通过函数自调用解决结构化的问题,优点是简洁易懂,缺点是效率较低且可能发生堆栈溢出;非递归算法通过显式管理堆栈数据结构避免递归,优点是效率更高且避免堆栈溢出,缺点是代码可能更复杂。选择递归或非递归取决于问题和实现的具体限制。

递归函数是一种在字符串处理中反复调用自身来解决问题的技术。它需要一个终止条件以防止无限递归。递归在字符串反转和回文检查等操作中被广泛使用。

递归是一种强大的技术,它允许函数调用自身来解决问题,在C++中,递归函数由两个关键要素构成:基本情况(确定递归何时停止)和递归调用(将问题分解为更小子问题)。通过理解基础知识并练习实战示例(如阶乘计算、斐波那契数列和二叉树遍历),您可以建立递归直觉,并自信地在代码中使用它。

递归是一种函数调用自身的技术,但存在堆栈溢出和效率低下的缺点。替代方法包括:尾递归优化,由编译器优化递归调用为循环;迭代,使用循环而不是递归;协程,允许暂停和恢复执行,模拟递归行为。
