编程题

[问题描述] 一个正整数(非素数)可表示成它的因子(1与其本身除外)的乘积。

例如:12有因子2,3,4,6,所以可表示为:

12=223=43=26

给出任一个正整数N,求出它所有的因子乘积的表达式(交换律得出的不同式子算同一种)。

[算法说明] 读入一个整数N,首先求出它的所有的因子以及每个因子可能的次数。

例如:整数48:

因子:2 3 4 6 8 12 16 24

次数:4 1 2 1 1 1 1 1

将上面的结果存入数组A:ARRAY[0..20,1..2]中。其中:A[?,1]表示因子;A[?,2]表示次数。

然后用简单回溯的方法求出所有可能的表示。

数组B[0..20]记录取数情况;c:array[0..20]工作单元。

[程序清单]

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论