B2139 90分
查看原帖
B2139 90分
1214348
Wardin楼主2024/1/1 18:30

请问这样为什么只有九十分?

(代码有亿点长)

#include <bits/stdc++.h>
using namespace std;
bool isprime(int n)
{
	if (n < 2) return false;
	for (int i = 2; i <= sqrt(n); i ++)
	{
		if (n % i == 0) return false;
	}
	return true;
}
int reverse(int n)
{
	int a[5], i = 0, sum = 0;
	memset(a, 0, sizeof(a));
	while (n != 0)
	{
		a[i] = n % 10;
		i ++;
		n /= 10;
	}
	i --;
	for (int j = 0, k = i; j <= i; j ++, k --)
	{
		sum += a[j] * pow(10, k);
	}
	return sum;
}
int main()
{
	int m, n, a;
	cin >> m >> n;
	for (int i = n; i >= 2; i --)
	{
		if (isprime(i) && isprime(reverse(i)))
		{
			a = i;
			break;
		}
	}
	for (int i = m; i <= n; i ++)
	{
		if (isprime(i) && isprime(reverse(i)))
		{
			if (i != a) cout << i << ",";
			else cout << i;
		}
	}
}
2024/1/1 18:30
加载中...