fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. #define faster() ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
  4. int nt[10000035];
  5. int snt[10000035];
  6. // Hàm này sàng số nguyên tố
  7. void sang(){
  8. nt[0]=1;
  9. nt[1]=1;
  10. for (int i=2;i<=sqrt(10000030);i++){
  11. if (nt[i]==0)
  12. for (int j=i*i;j<=10000030;j+=i)
  13. nt[j]=1;
  14. }
  15. }
  16. int dem=0;
  17. // Hàm này để lưu số nguyên tố vào trong 1 mảng
  18. int lietkent(){
  19. for (int i=2;i<=10000030;i++)
  20. if (nt[i]==0) snt[++dem]=i;
  21.  
  22. }
  23. // Hàm này phân tích 1 số ra thừa số nguyên tố
  24. void pt(long long n){
  25. int d=0;
  26. int i=snt[++d];
  27. while (i<=sqrt(n)){
  28. if (n%i==0){
  29. int d=0;
  30. while (n%i==0){
  31. d++;
  32. n/=i;
  33. }
  34. cout << i << " " << d << "\n";
  35. }
  36. i=snt[++d];
  37. }
  38. if (n>1) cout << n << " " << 1 << "\n";
  39. cout << "\n";
  40. }
  41. void solve(){
  42. long long n;
  43. cin >> n;
  44. pt(n);
  45. }
  46. int main(){
  47. faster();
  48. sang();
  49. lietkent();
  50. int t;
  51. cin >> t;
  52. while (t--) solve();
  53. }
Runtime error #stdin #stdout 0.18s 46492KB
stdin
2
4
180
stdout
Standard output is empty