3 1 2 4 0
241 421
代码:
# include <stdio.h>
# include <string.h>
# include <algorithm>
using namespace std;
int n, c, d;
int a[10], book[10], q[10];
int qwe(int x) // 判断素数
{
int b = 0, i;
for (i = 2; i <= x/2; i ++)
{
if (x % i == 0)
return 0;
}
if (x == 1)
return 0;
return 1;
}
void dfs(int cur)
{
int k, i;
if (cur == n+1)
{
d = 0;
for (i = 1; i <= n; i ++) // 排列后的和
{
d = d*10 + q[i];
}
if (qwe(d) == 1) // 如果是素数
{
printf("%d\n", d);
c = 1; // 标记变量 , 看是否有素数
}
return;
}
for (k = 1; k <= n; k ++)
{
if (book[k] == 0)
{
book[k] = 1;
q[cur] = a[k];
dfs(cur+1);
book[k] = 0;
}
}
return;
}
int main(void)
{
while (~ scanf("%d", &n))
{
int i;
if (n == 0)
break;
for (i = 1; i <= n; i ++)
scanf("%d", &a[i]);
memset(book, 0, sizeof(book));
sort(a+1, a+1+n);
c = 0;
dfs(1);
if (c == 0)
printf("NONE");
}
return 0;
}