01 #include <bits/stdc++.h> 02 using namespace std; 03 int t, x[100], a[100]; 04 void work(int d, int i, int n) { 05 int k; 06 if (n == 1) { 07 for (k = 0; k < d; k++) printf("%3d", a[k]); 08 printf("\n"); 09 } else 10 for (k = i; k < t; k++) 11 if (n % x[k] == 0) { 12 a[d] = x[k]; 13 work(d + 1, k, n / x[k]); 14 } 15 } 16 int main() { 17 int i, k, n; 18 cin >> n; 19 for (i = n; i > 1; i--) 20 if (n % i == 0) x[t++] = i; 21 work(0, 0, n); 22 }
1. 第 19 - 20 行 代码的作用是求出 n 的所有因数。( )
2. 该程序的作用是对 n 进行质因数分解
3. printf("%3d" ,a[k]); 中去掉 3 对程序没有影响
4. 去掉 if(n%x[k]==0) 对程序有影响
5. 如果输入为 2 ,那么输出为 ( )
6. 如果输入为 72 ,那么输出有多少非空行。( )