求助!真的不知道怎么优化了
查看原帖
求助!真的不知道怎么优化了
469418
Lmm_a楼主2021/7/15 11:29
#include<iostream>
#include<cmath>
#include<cstdio>
using namespace std;
int su(int n);
int huiwen(int a);
int main()
{
	int a,b,i,n;
	cin>>a>>b;
	if(a%2==0)
	{
	for(i=a+1;i<=b;i+=2)
	{
		if((i%2==0)||(i%3==0)||(i%5==0&&i!=5)||(i%7==0&&i!=7))
		{
			continue;
		}
		if(su(i)==1&&huiwen(i)==1) 
		{
			printf("%d\n",i);
		}
	}
	}
    else for(i=a;i<=b;i+=2)
	{
		if((i%2==0)||(i%3==0)||(i%5==0&&i!=5)||(i%7==0&&i!=7))
		{
			continue;
		}
		if(su(i)==1&&huiwen(i)==1) 
		{
			printf("%d\n",i);
		}
	}
	return 0;
}
int su(int n)
{
	int i,k=0;
	for(i=2;i<=sqrt(n);i++)
	{
		if(n%i==0)
		{
	    return 0;
		}
	}
	 return 1;
}
int huiwen(int a)
{
	int sum=0,n,k=0;
	n=a;//a的值会改变,所以先赋初始值 
	while(a!=0)
	{
		sum=sum*10+a%10;
		k++;
		a/=10;
	}
	if(sum==n)
	{
		return 1;
	}
	else return 0;
}

2021/7/15 11:29
加载中...