fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. #define endl '\n'
  4. #define int long long
  5. const int MOD = pow(10,9)+7;
  6. const int MOD2 = 998244353;
  7. const int INF = LLONG_MAX/2;
  8.  
  9. int primes[1000000];
  10.  
  11. void seive(){
  12. fill(primes, primes + 1000000, 1);
  13. primes[0] = primes[1] = 0;
  14. for(int i = 2 ; i*i < 1000000 ; i++){
  15. if(primes[i]){
  16. for(int j = i*i ; j < 1000000 ; j += i){
  17. primes[j] = 0;
  18. }
  19. }
  20. }
  21. }
  22. int factorial(int n){
  23. if(n==0){
  24. return 1;
  25. }
  26. return (n*(factorial(n-1)))%MOD;
  27. }
  28. bool isPrime(int n){
  29. if(n <= 1) return false;
  30. for(int i = 2 ; i*i <= n ; i++){
  31. if(n % i == 0) return false;
  32. }
  33. return true;
  34. }
  35.  
  36. int power(int a, int b){
  37. if(b == 0) return 1;
  38. a %= MOD;
  39. int value = power(a, b / 2);
  40. if(b % 2 == 0){
  41. return (value * value) % MOD;
  42. } else {
  43. return ((value * value) % MOD * (a % MOD)) % MOD;
  44. }
  45. }
  46.  
  47. int gcd(int a, int b){
  48. if(a == 0) return b;
  49. return gcd(b % a, a);
  50. }
  51. void dfs(int node , vector<int>A[] , int visited[] , int sum[] , int parent[] , int values[]){
  52. visited[node] = 1;
  53. for(auto node1 : A[node]){
  54. if(!visited[node1]){
  55. parent[node1] = node;
  56. dfs(node1,A,visited,sum,parent,values);
  57. }
  58. }
  59. int s = 0;
  60. for(auto node1 : A[node]){
  61. if(parent[node]!=node1){
  62. s = max(s,sum[node1]);
  63. }
  64. }
  65. sum[node] = values[node]+s;
  66. }
  67. int spf[1000001];
  68. void SPF(){
  69. for(int i = 2 ; i<=1000000 ; i++){
  70. spf[i] = i;
  71. }
  72. for(int i = 2 ; i<=sqrt(1000000) ; i++){
  73. if(spf[i]==i){
  74. for(int j = i*i ; j<=1000000 ; j+=i){
  75. if(spf[j]==j){
  76. spf[j] = i;
  77. }
  78. }
  79. }
  80. }
  81. }
  82. void solve() {
  83. SPF();
  84. for(int i = 2 ; i<=100 ; i++){
  85. unordered_map<int,int>m;
  86. int d = i;
  87. while(d!=1){
  88. m[spf[d]]++;
  89. d /= spf[d];
  90. }
  91. for(auto j:m){
  92. cout<<j.first<<"^"<<j.second<<" ";
  93. }
  94. cout<<endl;
  95. }
  96. }
  97.  
  98. signed main(){
  99. ios::sync_with_stdio(false); cin.tie(NULL);
  100. //int t;
  101. //cin >> t;
  102. //while(t--){
  103. solve();
  104. //}
  105. return 0;
  106. }
Success #stdin #stdout 0.01s 12536KB
stdin
Standard input is empty
stdout
2^1 
3^1 
2^2 
5^1 
3^1 2^1 
7^1 
2^3 
3^2 
5^1 2^1 
11^1 
3^1 2^2 
13^1 
7^1 2^1 
5^1 3^1 
2^4 
17^1 
3^2 2^1 
19^1 
5^1 2^2 
7^1 3^1 
11^1 2^1 
23^1 
3^1 2^3 
5^2 
13^1 2^1 
3^3 
7^1 2^2 
29^1 
5^1 2^1 3^1 
31^1 
2^5 
11^1 3^1 
17^1 2^1 
7^1 5^1 
3^2 2^2 
37^1 
19^1 2^1 
13^1 3^1 
5^1 2^3 
41^1 
7^1 2^1 3^1 
43^1 
11^1 2^2 
5^1 3^2 
23^1 2^1 
47^1 
3^1 2^4 
7^2 
5^2 2^1 
17^1 3^1 
13^1 2^2 
53^1 
3^3 2^1 
11^1 5^1 
7^1 2^3 
19^1 3^1 
29^1 2^1 
59^1 
5^1 2^2 3^1 
61^1 
31^1 2^1 
7^1 3^2 
2^6 
13^1 5^1 
11^1 2^1 3^1 
67^1 
17^1 2^2 
23^1 3^1 
7^1 2^1 5^1 
71^1 
3^2 2^3 
73^1 
37^1 2^1 
5^2 3^1 
19^1 2^2 
11^1 7^1 
2^1 13^1 3^1 
79^1 
5^1 2^4 
3^4 
41^1 2^1 
83^1 
7^1 2^2 3^1 
17^1 5^1 
43^1 2^1 
29^1 3^1 
11^1 2^3 
89^1 
5^1 2^1 3^2 
13^1 7^1 
23^1 2^2 
31^1 3^1 
47^1 2^1 
19^1 5^1 
3^1 2^5 
97^1 
7^2 2^1 
11^1 3^2 
5^2 2^2