_YYQ • 1天前
using namespace std;
long long l,r; int y[30]={2, 3, 5, 7,11, 13, 17, 19,23, 29,31, 37,41, 43, 47,53, 59,61, 67,71, 73, 79,83, 89,97, 101, 103, 107, 109, 113};
bool zhishu(long long i){
string u=to_string(i);
int o=0;
for(char n:u)
o+=n-'0';
for(int j:y)
if(j==o) return true;
return false;
}
bool kaigen(long long i){
if(i*i>=l&&i*i<=r)return true;
return false;
}
int main(){
scanf("%d %d",&l,&r);
for(long long i=sqrt(l);i<=sqrt(r);++i){
if(zhishu(i*i)&&kaigen(i)) printf("%d ",i*i);
}
return 0;
}
评论:
请先登录,才能进行评论