当前位置: 首页 > 工具软件 > jesse > 使用案例 >

Jesse's Code

乔俊才
2023-12-01

1256: Jesse's Code

Time Limit: 1 Sec   Memory Limit: 64 MB
Submit: 5   Solved: 3
[ Submit][ Status][ Web Board]

Description

Jesse是个数学迷,他最喜欢研究“哥德巴赫猜想”,因此他的计算机密码也都采用素数。 但一直用同一个密码是不安全的,所以他要经常更换他的密码。但他只允许自己的密码中出现某些数字,且密码的每一位都不相同。比如1 2 4,则有6种情况124 142 214 241 412 421。其中241 和 421为素数。为了获得他的密码(他的机器上存放了第4届舜禹杯大学生程序设计竞赛的题目!),需要生成一个字典来帮助我们破解。 请你来编写一个程序帮助我们(因为众所周知的原因我们迫切需要获得这些题目)。

Input

  • Line 1:密码的位数n (1 ≤ n ≤ 9)。
  • Line 2:1->n个不重复的整数序列 (1 ≤ x[i] ≤ 9).
输入0结束。

Output

按从小到大顺序输出所有的结果。 如果一个结果也没有,输出“NONE”。 每组数据后面跟随一个空行。

Sample Input

3
1 2 4
0

Sample Output

241
421

HINT

Source

#include <cstdio>
#include <cmath>
#include <algorithm>
using namespace std;
int isprime(int n)
{
	int k=sqrt(n),i;
   for (i=2;i<=k;i++)
   {
       if (n%i==0)
       {
		   return 0;
		   break;
       }
   }
   return 1;
}
int main()
{
	int a[10],n,i,sum;
	while (scanf("%d",&n)&&n)
	{
		for (i=0;i<n;i++)
		{
			scanf("%d",&a[i]);
		}
		do 
		{
			sum=0;
			for (i=0;i<n;i++)
			{
				sum=sum*10+a[i];
			}
			//printf("%d\n",sum);
			if (isprime(sum))
			{
				printf("%d\n",sum);
			 }
		} while (next_permutation(a,a+n));
	}
}


 类似资料:

相关阅读

相关文章

相关问答