C language source code: [cpp] # include <stdio. h> # include <math. h> int s [18]; int mark [18]; int pri (int n) {int I, B; B = (int) sqrt (n) + 1; if (n = 2) return 1; I = 2; while (I <= B) {if (n % I = 0) return 0; else I ++ ;} return 1;} void input (int I, int n) {int j, flag; if (I = n + 1) {flag = 0; for (j = 1; j <n; j ++) {if (pri (s [j] + s [j + 1]) = 0) {flag = 1; break ;}} if (pri (s [1] + s [n]) = 0) flag = 1; if (flag = 0) {for (j = 1; j <n; j ++) printf ("% d", s [j]); Printf ("% d \ n", s [j]) ;}} else {for (j = 1; j <= n; j ++) {if (mark [j] =-1 & pri (s [I-1] + j) = 1) {s [I] = j; mark [j] = 1; input (I + 1, n); mark [j] =-1 ;}}} int main () {int n, num, I; num = 1; s [1] = 1; while (scanf ("% d", & n )! = EOF) {for (I = 0; I <= n; I ++) mark [I] =-1; mark [1] = 1; printf ("Case % d: \ n", num ++); input (2, n); printf ("\ n") ;}} share to: Previous: 9 degree tutorial 88th question next: 9 degree tutorial 90th question