Cho số tự nhiên N (N ≤ 109).
Hãy lập trình tìm tất cả bộ ba số nguyên tố x, y, z thỏa mãn:
INPUT
- Một số nguyên dương N duy nhất
OUTPUT
- Gồm nhiều dòng, mỗi dòng chứa một bộ ba số nguyên tố tìm được. Trong trường hợp không tìm được bộ ba số nguyên tố thỏa mãn đề bài thì đưa ra -1.
Ví dụ:
INPUT | OUTPUT |
30 | 2 3 13
2 5 29 |
10 | -1 |
code trong C++
#include <bits/stdc++.h> using namespace std; bool kt(int x) { if (x<2) return 0; for (int j=2;j<=sqrt(x);j++) if (x%j==0) return 0; return 1; } int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); freopen("DPRIME3.inp","r",stdin); freopen("DPRIME3.out","w",stdout); int n; cin>>n; int d=0; for (int y=3;y<=sqrt(n);y++) if (kt(y)==1) { int z=y*y+4; if (kt(z)==1&&z<=n) { d++; cout<<2<<" "<<y<<" "<<z<<endl; } } if (d==0) cout<<-1; return 0; }