Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Dandu-se n numere naturale, sa se afiseze descompunerea in factori primi a acestora.
- // n <= 10^6, fiecare numar este pana in 10^6
- #include <iostream>
- using namespace std;
- const int mxN = 1e6;
- int ciur[mxN+10];
- void build_ciur()
- {
- for(int i = 2;i<=mxN;i++)
- if(ciur[i] == 0)
- for(int j = i;j<=mxN;j+=i)
- if(ciur[j] == 0)
- ciur[j] = i;
- }
- int main()
- {
- build_ciur();
- int n, x ;
- cin >> n ;
- for(int i = 1;i<=n;i++)
- {
- cin >> x;
- cout << "Descompunerea pentru " << x << ":\n";
- while(ciur[x] != 0)
- {
- int p = ciur[x], exp = 0;
- while(ciur[x] == p)
- exp++, x /= ciur[x];
- cout << p << '^' << exp << '\n';
- }
- cout << '\n';
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement