fork download
  1. #include <iostream>
  2. #include <bits/stdc++.h>
  3. using namespace std;
  4.  
  5. vector<long long>spf(){
  6. vector<long long>ans(10000000);
  7. for(long long i=2;i<=1000000;i++){
  8. ans[i]=i;
  9. }
  10.  
  11. for(long long j=2;j*j<=1000000;j++){
  12. if(ans[j]==j){
  13. for(long long k=j*j;k<=1000000;k+=j){
  14. if(ans[k]==k){
  15. ans[k]=j;
  16. }
  17. }
  18. }
  19. }
  20.  
  21. return ans;
  22.  
  23. }
  24. int main(){
  25. vector<long long>ans=spf();
  26. for(int i=2;i<=30;i++){
  27. cout<<i<<" "<<ans[i]<<endl;
  28. }
  29.  
  30. return 0;
  31. }
Success #stdin #stdout 0.03s 81340KB
stdin
Standard input is empty
stdout
2 2
3 3
4 2
5 5
6 2
7 7
8 2
9 3
10 2
11 11
12 2
13 13
14 2
15 3
16 2
17 17
18 2
19 19
20 2
21 3
22 2
23 23
24 2
25 5
26 2
27 3
28 2
29 29
30 2