QvQ2024 @ 2024-11-24 18:03:31
我想的是先把质数找出来,然后再反转,后面不知道怎么写了,请大佬帮忙看下,谢谢!
#include<bits/stdc++.h>
using namespace std;
int main(){
int a,b,c,d,e;
string s;
cin>>a>>b;
for(int i=2;i<=b;i++){
int c=2;
while(i%c!=0){
int d=s.length();
for(int i=0;i<s.length();i++){
d-=1;
cout<<s.substr(d,1);
}
}
c++;
}
return 0;
}
by dyh_120 @ 2024-11-24 18:20:05
这道题就是模拟,先判断质数再翻转判断,一个一个输出就行了
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll a,b;
bool prime(ll x){
if (x<2) return false;
for (int i=2;i<=x/i;i++)
if (x%i==0) return false;
return true;
}
ll hw(ll x){
ll m=0;
while (x!=0){
m=m*10+x%10;
x/=10;
}
return m;
}
int main (){
scanf ("%lld %lld",&a,&b);
for (int i=a;i<=min(b,(ll)9989899);i++){
if (hw(i)==i && prime(i))
printf ("%lld\n",i);
}
return 0;
}
循环到9989899是个优化,判断记得要先判断回文在判断质数,不然会超时。 最后过了求关
by dyh_120 @ 2024-11-24 18:21:37
@QvQ2024 PS:以后不会可以借鉴题解/cy 求关QWQ
by QvQ2024 @ 2024-11-24 19:35:28
@dyh_120 感谢,求互关
by dyh_120 @ 2024-11-24 20:00:57
@QvQ2024OK已关