首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

求一正整数的所有乘积形式,该如何解决

2012-02-08 
求一正整数的所有乘积形式例如:12的所有乘积形式有4种:1*122*63*42*2*38的所有乘积形式3种:1*82*42*2*2其

求一正整数的所有乘积形式
例如:
12的所有乘积形式有4种:
  1*12
  2*6
  3*4
  2*2*3
8的所有乘积形式3种:
  1*8
  2*4
  2*2*2

其中a*b和b*a和1*a*b我们当做一种形式。

[解决办法]
可以这样弄。用split函数将数写成两个数相乘,但是前者要大于后者,一直分解到不可以再分。这个就跟将数写成不同数的和是一样的。
举个例子。
12=2*6
12=2*2*3,这就是一个周期
12=3*4,这又是一个周期
我们教材是 华中科技大 的 算法基础 教材。
书上就有一个写得将正整数分解成所有的和的形式
12=1+11,(11可以继续分解)

热点排行