萌新求助,为啥第9个点会超时
查看原帖
萌新求助,为啥第9个点会超时
443720
Srikasso楼主2021/2/15 16:42

蒟蒻的代码:

#include <bits/stdc++.h>
using namespace std;
//判断素数 
bool sushu(int n){
	bool r = true;//假设r是真的 
	int i;
	for(i = 2;i <= sqrt(n);i++){
		if(n % i == 0){
			//除了1和它本身以外,还有因子的话,r是就是假的 
			r = false;
			break;//退出循环 
		}
	}
	if(n <= 1){//特判n=1的情况 
		r = false;
	}
	return r;
}
//判断回文数 
bool huiwen(int n){
	bool r;
	int i,t = n,x = 0;//t变量是为了备个份 
	//把n倒过来 
	while(n != 0){
		x = x * 10 + n % 10;
		n = n / 10;
	}	
	//如果倒n等于正n,r就是真的 
	if(t == x){
		r = true;
	}else{
		r = false;
	}
	return r;
}
//主函数 
int main(){
	int m,n,i;
	scanf("%d%d",&m,&n);
	while(m <= n){
		if(huiwen(m) == true && sushu(m) == true){
			//如果是回文数也是素数,则输出 
			printf("%d\n",m);
		}
		m++;//自增 
	}
	return 0
}

跪求优化Orz

2021/2/15 16:42
加载中...