萌新基础差得不行求大佬指导
查看原帖
萌新基础差得不行求大佬指导
446090
霜雪purity楼主2021/2/3 21:25
#include <iostream>
using namespace std;
bool isprime(int y) {
	if (y < 2)
		return false;
	for (int i = 2; i * i <= y; i++) {
		if (y % i == 0)
			return false;
	}
	return true;
 }
bool huiwen(int x) {
	int s = 0;
	int a = x;
	while (x != 0) {
		s = s * 10 + x % 10;
		x /= 10;
	}
	if (s == a)
		return true;
	else
		return false;
}
int main() {
	int a, b;
	cin >> a >> b;
	if (a % 2 == 0)
		a += 1;
	if (b > 9999999)
		b = 9999999;
	for (int i = a; i <= b; i += 2) {
		if ( huiwen(i)){
			if (isprime(i)) {
				cout << i << endl;
		}
		}
	}
	return 0;
}

为什么把if(huiwen(i)){ if(isprime(i){ } } 改成if(isprime(i) && huiwen(i))就过不了了,两种方式难道不一样吗。。。。。

2021/2/3 21:25
加载中...