游客 Signup | Login
中文 | En

3611 - 组素数

素数就是不能再进行等分的数。比如:2 3 5 7 11 等。

    9 = 3 * 3 说明它可以3等分,因而不是素数。
    我们国家在1949年建国。如果只给你 1 9 4 9 这4个数字卡片,可以随意摆放它们的先后顺序(但卡片不能倒

着摆放啊,我们不是在脑筋急转弯!),那么,你能组成多少个4位的素数呢?<br />

    比如:1949,4919 都符合要求。
请你提交:能组成的4位素数的个数,不要罗列这些素数!!

&nbsp;

(这是蓝桥杯真题,原题为结果填空题。这里以编程题的形式供大家练习)

Input

Output

Examples

Input


                

Output


                

Solution C++

#include<iostream>
#include<algorithm>
using namespace std;
int p[4]={1,4,9,9};
int isprime(int n)
{
	int i;
	if(n<=1) return 0;
	for(i=2;i*i<=n;i++)
	{
		if(n%i==0) return 0;
	}
	return 1;	
}
int main()
{
	int cnt=0;
	do
	{
		if(isprime(p[0]*1000+p[1]*100+p[2]*10+p[3]))
			cnt++;
	}
	while(next_permutation(p,p+4));
	cout<<cnt;
	return 0;
}
Time Limit 1 second
Memory Limit 128 MB
Discuss Stats
上一题 下一题