Számának bővülésével a tényezők
Online faktorizációja
Bármennyi bontható elsődleges tényezők. Ennek eredményeként ugyanazok bomlás,
ha figyelmen kívül hagyjuk a sorrendben a belépés tényezők.
A sorrend az intézkedéseket, amelyek végzik a bomlás számokat prímtényezője matematika:
- Ellenőrizze, hogy a javasolt szám prím.
- Ha nem, akkor vegye fel, áthatva a jelek által, a megosztás, osztó, az egyszerű számok kezdve a legkisebb (2, 3, 5 ...).
- Ismételje ezt a műveletet mindaddig, amíg saját akarat nem prím.
Ahhoz, hogy meghatározzuk a primality számos használható „algoritmus Szita Eratosthenes”.
A bővítés a prímtényezőjét programozási végzett hasonló módon:
- Állítsa be a kezdeti érték egyenlő 2 elválasztó.
- Ellenőrizze, hogy a számot elosztjuk az osztó. Ha igen, írja le a tényezők listája az osztó, és ossza száma az osztó.
- Ismételjük meg az előző lépést, amíg a feltétel sokfélesége.
- Ugrás a következő osztó (a legegyszerűbb esetben növekedés elválasztó 1)
- Számítások teljes, ha a hányados lesz egyenlő 1.
Megvalósítás C ++
#include #include #include
using namespace std;
int main ()
int n, div = 2;
cout <<"N = " ;
cin >> N;
cout <
míg (n% div == 0)
cout <<" * " <
>
div ++;
>
cin.get (); cin.get ();
vissza 0;
>
Ha figyelembe vesszük, hogy a páros számú prímtényezője csak 2 lehetőség van, hogy csökkentse a ciklusok számának az algoritmus végrehajtása alatt további
using namespace std;
int main ()
int n, div = 2;
cout <<"N = " ;
cin >> N;
cout <
míg (n% div == 0)
cout <<" * " <
>
ha (div == 2) div ++;
mást div + = 2;
>
cin.get (); cin.get ();
vissza 0;
>
Algoritmus faktorizációs is megvalósítható rekurzió:
using namespace std;
void find (int n, int div)
ha (n == 1) visszatérési;
ha (n.iv == 0)
cout <<" * " <
>
más
if (div == 2)
találni (N, div + 1);
más
találni (N, div + 2);
>
int main ()
int n, div = 2;
cout <<"N = " ;
cin >> N;
cout <
cin.get (); cin.get ();
vissza 0;
>