Số siêu nguyên tố
Một số tự nhiên N được gọi là siêu nguyên tố nếu bản thân nó là một số nguyên tố và tất cả các số thu được bằng cách xóa lần lượt các chữ số bên phải của nó đều là số nguyên tố.
Ví dụ: Số 317 là một số siêu nguyên tố vì: 317 là 1 số nguyên tố Xóa 1 chữ số bên phải: 31 là 1 số nguyên tố Xóa 2 chữ số bên phải: 3 là 1 số nguyên tố Cho 2 số nguyên a, b. Hãy liệt kê tất cả các số siêu nguyên tố thuộc đoạn [a, b].
Dữ liệu vào
- Gồm một dòng ghi 2 số nguyên dương a, b (\(0<a,b<10^7\))
Kết quả
- Liệt kê theo thứ tự tăng các số siêu nguyên tố thuộc đoạn [a, b], mỗi số trên một dòng, hoặc ghi NO trong trường hợp không có số nào thuộc đoạn đó.
Ví dụ 1:
INPUT
3 57
OUTPUT
3
5
7
23
29
31
37
53
Comments
include<bits/stdc++.h>
using namespace std;
define ll long long
bool snt(ll n) { if(n<2) return false; for(ll i=2;i<=sqrt(n);i++) if(n%i==0) return false; return true; } bool ssnt(ll n) { ll x=0; if(snt(n)==false&&n<10) return false; if(snt(n)==false) return false; while(n/10!=0) { x=n/10; if(snt(x)==false) return false; n/=10; } if(n>10&&n/10==0) return false; return true; } int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); ll a,b; cin>>a>>b; ll d=0; for(ll i=a;i<=b;i++) if(ssnt(i)) { cout<<i<<"\n"; d++; } if(d==0) cout<<"NO";
}