dalao们!看看本蒟蒻错在哪了?谢!
查看原帖
dalao们!看看本蒟蒻错在哪了?谢!
487259
刘岛主刘昊羽楼主2021/12/4 22:25
#include<bits/stdc++.h>
using namespace std;
typedef long long l;
l n;
l pown(l x, l y)
{
	l sum = 1;
	for(int i= 1; i <= y; i++)
	{
		sum *= x;
	}
	return sum;
}
l digit(l x)
{
	l digit1 = 0;
	while(x)
	{
		digit1++;
		x /= 10;
	}
	return digit1;
}
bool isprime(l x)
{
	if(x < 2)
	{
		return 0;
	}
	if(x == 2)
	{
		return 1;
	}
	for(int i = 2; i * i <= x; i++)
	{
		if(x % i == 0)
		{
			return 0;
		}
	}
	return 1;
}
bool check(l x)
{
	if(digit(x) != n)
	{
		exit(0);
	}
	while(x)
	{
		if(!isprime(x))
		{
			return 0;
		}
		x /= 10;
	}
	return true;
}
int main()
{
	ios::sync_with_stdio(0);
	cin >> n;
	if(n == 1)
	{
		cout << 2 << endl << 3 << endl << 5 << endl << 7;
		return 0;
	}
	l k = pown(10, n - 1) + 1;
	l v = pown(10, n) - 2 * pown(10, n - 1) - 1;
	for(int i = k; i <= v; i+=2)
	{
		if(check(i))
		{
			cout << i << endl;
		}
	}
	return 0;
 }

我的主页

2021/12/4 22:25
加载中...