请问这样为什么只有九十分?
(代码有亿点长)
#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;
}
}
}