9-2 编程题
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
一个整数的“真因子”是指包括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。
测试案例:
输入:
21 30
输出:
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