Số nguyên tố là một số nguyên dương có 2 ước dương là 1 và chính nó.
Ví dụ: 7, 13, 17, … là những số nguyên tố; còn các số 14, 8, 25, … không phải là những số nguyên tố.
Số đảo ngược của một số là số được viết theo thứ tự ngược lại của số đó.
Ví dụ: 13 đảo ngược của nó là 31; 145 đảo ngược của nó là là 541.
Một số n được gọi là song nguyên tố nếu như n là số nguyên tố và số đảo ngược của nó cũng là số nguyên tố.
Ví dụ: 7, 13 là các số song nguyên tố còn các số 8, 41 không phải là các số song nguyên tố.
Cho một số nguyên dương n. Em hãy kiểm tra xem số n có phải là song nguyên tố không?
INPUT
- Một dòng duy nhất chứa số nguyên dương n (n ≤ 2*109)
OUTPUT
- In ra số 1 nếu đó là số song nguyên tố, và in ra số 0 nếu đó không phải là số song nguyên tố.
Ví dụ:
Ví dụ 1 | Ví dụ 2 | ||
Input | Output | Input | Output |
7 | 1 | 8 | 0 |
Code bằng C++
#include <bits/stdc++.h> using namespace std; int dn(int x) { int x1=0; while(x>0) { x1=(x1*10)+(x%10); x/=10; } return x1; } bool kt(int y) { if(y<2) return 0; else for (int i=2;i<=int(sqrt(y));i++) if (y%i==0) return 0; return 1; } int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); freopen("cprime.inp","r",stdin); freopen("cprime.out","w",stdout); int n; cin>>n; if(kt(n)==1&&kt(dn(n))==1) cout<<1; else cout<<0; return 0; }
Code bằng Pascal