lizishi @ 2024-04-19 18:42:11
#include <iostream>
#include <cstdlib>
#include <cmath>
using namespace std;
int fun1(int n)
{
return 1;
}
int fun2(int n)
{
if(n%11==0) return 1;
else return 0;
}
int fun3(int n)
{
if(n/100==n%10) return 1;
else return 0;
}
int fun4(int n)
{
int cnt=0;
if(n/1000==n%10) cnt++;
if(n/100%10==n/10%10) cnt++;
return cnt/2;
}
int fun5(int n)
{
int cnt=0;
if(n/10000==n%10) cnt++;
if(n/1000%10==n/10%10) cnt++;
return cnt/2;
}
int fun6(int n)
{
int cnt=0;
if(n/100000==n%10) cnt++;
if(n/10000%10==n/10%10) cnt++;
if(n/1000%10==n/100%10) cnt++;
return cnt/3;
}
int fun7(int n)
{
int cnt=0;
if(n/1000000==n%10) cnt++;
if(n/100000%10==n/10%10) cnt++;
if(n/10000%10==n/100%10) cnt++;
return cnt/3;
}
int fun8(int n)
{
int cnt=0;
if(n/10000000==n%10) cnt++;
if(n/1000000%10==n/10%10) cnt++;
if(n/100000%10==n/100%10) cnt++;
if(n/10000%10==n/1000%10) cnt++;
return cnt/4;
}
int fun9(int n)
{
return 0;
}
int fun(int n)
{
int dig=floor(log10(n))+1;
if(dig==1) return fun1(n);
if(dig==2) return fun2(n);
if(dig==3) return fun3(n);
if(dig==4) return fun4(n);
if(dig==5) return fun5(n);
if(dig==6) return fun6(n);
if(dig==7) return fun7(n);
if(dig==8) return fun8(n);
if(dig==9) return fun9(n);
}
int prime(int n)
{
for(int i=2;i<=sqrt(n);i++)
{
if(n%i) continue;
return 0;
}
return 1;
}
int main()
{
int a,b;
cin>>a>>b;
for(int i=a;i<=b;i++)
{
if(prime(i)&&fun(i)) cout << i << endl;
if((int(floor(log10(i)))%2)&&(i!=10)) i=pow(10,int(floor(log10(i)))+1);
}
return 0;
}
by laoqiu_tyxx @ 2024-04-23 16:37:43
AC代码:
#include <bits/stdc++.h>
using namespace std;
bool sushu(int n)
{
int j;
for(j=2;j*j<=n;j++)
{
if(n%j==0)
return false ;
}
return true;
}
bool huiwen(int n)
{
int y=0,x=n;
while(x)
{
y=y*10+x%10;
x/=10;
}
if(y==n)
{
return true;
}
return false;
}
int main()
{
int i,j,a,b;
cin>>a>>b;
for(i=a;i<=b;i++)
{
if (i % 2 == 0) {
continue;
}
if(huiwen(i))
{
if(sushu(i))
{
cout<<i<<endl;
}
}
}
}