题目:给定一个非负整数num,反复将各个位上的数字相加,直到结果为一位数。本篇经撰颧幌汪验将分享基于递归计算的算法和找规律算法。
工具/原料
Eclipse
JDK1.8
方法/步骤
1、实现基于递归计算的算法算法思想:从示例上看,这个题目非常适合通过递归来解决,递归出口即参数为一位数,图示代码。
2、编写并运行测试代码图示,主方法中调用递归算法获取数字38和9999的返回结果,算法输出符合预期。
3、平台提交算法图示,测试通过
4、实现找规律算法算法思想:对于数字9来说,其倍数的各位相加总为9擢爻充种的倍数,而一个数字n可以分解为:n=惺绅寨瞀9m+k(8≥k≥0),9m部分为9的倍数,其各位相加最终为9,所以数字n的各位和最终等于9+k,如果k==0(原数为9的倍数),则各位和为9,如果k≥1,则各位和为1+(k-1)即k,即原数除以9的余数。
5、测试找规律算法图示,通过算法获取数字38和9999的返回值,并打印到控制台,符合预期
6、平台提交找规律算法图示,测试通过