四、完善程序
1.李生素数是指两个相差为 2 的素数,例如:3 he5,5 he7,11和13 等。下面程序可以输出五对李生素数,其中函数 g 的功能是: 断整数 a 是否是素数
2.下面程序的功能是利用递归的方法生成从 1到 n(n<1)的 n 个数的全部可能的排列( 不一定按升序输出 ) 。例如,输入 3,则应该输出( 每行输出 5个数的排列)
四、完善程序
1.李生素数是指两个相差为 2 的素数,例如:3 he5,5 he7,11和13 等。下面程序可以输出五对李生素数,其中函数 g 的功能是: 断整数 a 是否是素数
第一题
1 true 2 while 3 return false; 4 q(k+2) 5 k++
第二题
#include <iostream>
using namespace std;
int n, a[10];
long count = 0;
void perm(int k) {
int j, p, t;
if (k == n) {
count++;
for (p = 1; p <= n; p++)
cout << a[p];
cout << " ";
if (count % 5 == 0)
cout << endl;
return;
}
for (j = k; j <= n; j++) {
t = a[k];
a[k] = a[j];
a[j] = t;
perm(k + 1);
t = a[k];
a[k] = a[j];
a[j] = t;
}
}
int main() {
int i;
cin >> n;
for (i = 1; i <= n; i++)
a[i] = i;
perm(1);
return 0;
}