Problem1204--真因子和数列

1204: 真因子和数列

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 15  Solved: 5
[Submit] [Status] [Web Board] [Creator:]

Description

一个整数的”真因子”是指包括1但不包括整数自身的因子. “真因子和数列”是指取一个正整数作为数列首项,首项之后的每一项都是前一项的真因子之和..真因子和数列有几种可能的形式,其中的一种形式是以1结束.例如,取10作为数列的首项.10的真因子和为8(1+2+5),8的真因子和为7(1+2+4),7的真因子和为1.因此,用10生成的真因子和数列(10,8,7,1) 以1结束. 编写程序分别以在给定范围内取值的多个正整数作为数列首项,生成多个与其对应的“真因子和数列”,这些数列均为以1结束。

【编程要求】
1 编写函数 int sequ(int m1,int m2,int num[][10])实现以下功能:依次取[m1,m2]范围内每个正整数作为数列首项可生成m2-m1+1个 真因子和数列,将其中不超过10项且以1结束的数列保存到num指向的二维数组中,函数返回num数组中存储的数列个数。

2 编写函数main实现以下功能:声明二维数组x和变量m1,m2输入两个正整数保存到m1,和m2中(m1<m2),用m1,m2和数组x作为实参调用sequ函数,按所给格式将二维数组x中的数列输出到屏幕

Sample Input

21 32

Sample Output

21 11 1
22 14 10 8 7 1
23 1
24 36 55 17 1
26 16 15 9 4 3 1
27 13 1
29 1
31 1
32 31 1

HINT

定义函数 int sum_zyz(int n),计算n的真因子和。sum_zyz(21) = 11, sum_zyz(11) = 1

Source/Category