先判断回文数和先判断素数有区别吗?
查看原帖
先判断回文数和先判断素数有区别吗?
660566
azeng233楼主2022/2/1 14:01

两个代码一摸一样的就是主函数不一样,一个是先判断回文数,另外一个先判断素数,第一个过了,第二个超时,这是咋回事呀!另外祝大家新年快乐! 这是过了的代码:

#include <bits/stdc++.h>

using namespace std;

bool isPrime(int n) {
   int k = sqrt(n);
   for (int i = 2; i <= k; i++) {
       if (n % i == 0)
           return false;
   }
   return true;
}

bool huiwen(int n) {
   int ans = 0;
   int temp = n;  //设置临时变量
   while (n) {
       ans = ans * 10 + n % 10;
       n /= 10;
   }
   if (ans == temp)
       return true;
   return false;
}

int main() {
   int a, b;
   cin >> a >> b;
   if (a % 2 == 0)
       a++;
   if (b >= 9989899)
       b = 9989899;
   for (int i = a; i <= b; i += 2) {
       if (huiwen(i) && isPrime(i))
           cout << i << endl;
   }
   return 0;
}

没过的代码的主函数:

int main() {
   int a, b;
   cin >> a >> b;
   if (a % 2 == 0)
       a++;
   if (b >= 9989899)
       b = 9989899;
   for (int i = a; i <= b; i += 2) {
       if (isPrime(i) && huiwen(i))
           cout << i << endl;
   }
   return 0;
}

请教一下大家!

2022/2/1 14:01
加载中...