Ocena użytkownikóww: ***** / 5
Nadesłany przez Marian, 23 lutego 2011 16:30
Kod przedstawiony poniżej przedstawia główną część rozwiązania problemu.
Pobierz pełne rozwiązanie.Jeżeli nie odpowiada Ci sposób formatowania kodu przez autora skorzystaj z pretty printer'a i dostosuj go automatycznie do siebie.
rozklad_1_c.cpp:
//Rozklad liczby na czynniki pierwsze
//www.algorytm.org
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
int x,i = 2,e;
cout << "Podaj liczbe: ";
cin >> x;
cout << "Czynniki pierwsze: ";
e = (int)sqrt((double)x); // nie trzeba robic floor poniewaz wystarczy rzutowanie na int-a - czesc ulamkowa zostanie zignorowana
while (i <= e)
{
while (x%i == 0) // jesli x dzieli sie przez i
{
cout << i << " ";
x /= i;
e = (int)sqrt((double)x);
}
i++;
}
if (x > 1)
cout << x << " ";
cout << endl;
return 0;
}