Rozklad čísla na prvočinitele – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Rozklad čísla na prvočinitele – C / C++ – Fórum – Programujte.comRozklad čísla na prvočinitele – C / C++ – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
stanik890
Duch
12. 12. 2009   #1
-
0
-

Ahoj,

programuju v céčku teprve krátce a dostal jsem za úkol vytvořit program na rozložení čísla na prvočinitele. Mám k tomu použít prvočísla do 10000 které si buď vypočitám nebo načtu. Na netu jsem našel pár zdrojů, ale žádné nepoužívalo ony prvočísla.

Poraďte prosím, jak na to...

Nahlásit jako SPAM
IP: 77.48.143.–
Reklama
Reklama
MaS0
Návštěvník
12. 12. 2009   #2
-
0
-

protože každy číslo se skládá z prvočísel, budeš jednoduše kontolovat postupně od nejmenšího prvočísla, jestli oním prvočíslem není číslo dělitelné, pokud jo, tak si nějak zaznamenáš to prvočíslo a u výsledku dělení budeš opět konrolovat to samý,... dokud výsledkem nebude 1... pak ty prvočísla jsou roklad (pak to ještě nějak zformátovat, abys zapsal místo 2*2... 2^2, a je to)

Nahlásit jako SPAM
IP: 81.19.46.–
stanik890
Duch
12. 12. 2009   #3
-
0
-

a nějáká ukázka by nebyla, prosím ?

Nahlásit jako SPAM
IP: 77.48.143.–
stanik890
Duch
12. 12. 2009   #4
-
0
-

Mám hotový tenhle kód, ale u některých čísel mi nefunguje ... nevíte kde je chyba ??



# include <stdio.h>
# include <iostream>
using namespace std;
# include <iomanip>


int const PP =25;


void Rozklad(int hodnota)
{
int p[50][2];
int pocet=0,i=0,h=0,z=0;
int delitel=2;
int pole[PP] = {2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97};


if(hodnota%2==0) //když rozklad začíná na 2
{
p[0][0]=pole[z];
p[0][1]=pocet;
i=1;
}


while(hodnota>1)
{
while(hodnota%pole[z]!=0)
{
z++;
pocet=0;
}
pocet++;
p[i][0]=pole[z];
p[i][1]=pocet;
i++;
hodnota=hodnota/pole[z];
}
for(int j=0; j<z; j++)
{
if(p[j][0]!=p[j+1][0])
cout << p[j][0] << "^" << p[j][1] << " * ";
}
}

int main()
{
int x=0;
cout << "Zadej cislo <2-100>: ";
cin >> x;

Rozklad(x);
cout << endl;

system("pause");
return 0;
}


Nahlásit jako SPAM
IP: 77.48.143.–
KIIV+42
God of flame
12. 12. 2009   #5
-
0
-

To stanik89 : myslis priklad: delis postupne prvocislama mensima nebo rovnejma nez pulka cisla dokud je co delit? (samozrejme zaznamenavas jen ty, kreryma je to delitelne bezezbytku)?
tomu se uz nerika ze chces priklad ale vyreseni

Nahlásit jako SPAM
IP: 77.237.136.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 31 hostů

Podobná vlákna

Rozklad na prvočinitele — založil TomBar

Rozklad na prvočinitele — založil Rozklad na prvočinitele

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý