这很明显是一道小学数学题,我们需要建立数学模型再化为代码进行运行:
大概的思路就是从最小的2开始分解,一直分解到1停止。
在主函数方面,可以优先将输入的变量定于出来
sc为输入函数;
再定义一个全局变量待会ff方法中有用。
定义一个ff方法,进行对整数的分解。
每个整数都是从2开始拆分,无一例外。
以8为例,逐渐拆分称2x4;2x2;2;
需要拆3次2,所以这个for循环的i不止用了一次。所以还需要套一个while循环针对这种好几次方的数。
一直拆到两种情况停止循环;
第一种是 拆完之后sc ==i本身了,sc/i ==1,无法再拆了
第二种就是本身就是素数,没有可以拆的。
最关键的一点就是定义一个动态修改的数组 list装每一次拆下来的 i ;(最开始定义的全局变量)
最后在主函数中逐一打印list中的数即可。
网友评论