这道题为什么我一直不对?
  • 板块灌水区
  • 楼主FALCONAD
  • 当前回复3
  • 已保存回复3
  • 发布时间2021/6/26 22:38
  • 上次更新2023/11/4 21:26:08
查看原帖
这道题为什么我一直不对?
350448
FALCONAD楼主2021/6/26 22:38

超级素数

一个n位超级素数是指一个n位正整数,它的前1位,前2位,……,前n位均为素数,例如,733是个3位超级素数,因为7,73,733均为素数。编一程序,输出全部的n位数超级素数。

输入

一个正整数n,n不超过9。

输出

多行,每行一个超级素数。

样例输入

2

样例输出

23

29

31

37

53

59

71

73

#include<bits/stdc++.h>
using namespace std;
bool isPrime(int a)
{
	if(a<=1) return 0;
	for(int i=1;i*i<=a;i++)
		if(a%i==0) return 0;
	return 1;
}
bool super(int a)
{
	while(a>1)
	{
		if(isPrime(a)==0)
		{
			return 0; 
		}
		else
		{
			a/=10;
		}
	}
	return 1;
}
int main()
{
	int n,s=1;
	cin>>n;
	for(int i=1;i<=n;i++) s*=10;
	for(int i=s/10;i<s;i++)
	{
		if(super(i)) cout<<i<<endl;
	}
	return 0;
}

79

2021/6/26 22:38
加载中...