题目:“比如99 可以拆分为 9和9 9*9=81 81可以拆分为8和1 8*1=8 不能拆分了,得出结果为2。
65可以拆分为6和5,6*5=30 ,30可以拆分为3和0, 3*0=0 不能拆分了,得出结果也为2。实现这个功能 返回结果(结果为可拆分的次数)”
分析:1.拆分终止条件是最终的结果是小于10的一位数。
2.数在拆分时,例如n=999,我们可以利用999%10来获得个位上的数字n1=9,利用999/10使999去掉个位上的9,此时n=999/10=99,在用一个变量r来计算被拆分的数字,r的初始值为1,当999去掉个位数字9时,n变成n=99,r=r*n1=1*9=9,因为一次拆分的终止条件是n<=0,因此n要重复上述过程,因此需要一个循环,循环执行的条件是n>0.
3.上述2是数字的一次拆分所得的结果为x=9*9*9=729,因此还要重复2说是的步骤因此还需要一个循环,该循环的终止条件是x<10.
完整代码如图: