C - program Nejvetsi delitel – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

C - program Nejvetsi delitel – C / C++ – Fórum – Programujte.comC - program Nejvetsi delitel – C / C++ – Fórum – Programujte.com

 

jiM.sTREET0
Newbie
12. 10. 2008   #1
-
0
-

Zdravím, potřeboval bych pomoct s programem - je to program, který má zjistit největšího dělitele čísla, které zadáme. Například
největší dělitel čísla 9 je 3, 800 400 a tak dale. A pokud zadame prvocislo, vypise se, ze se jedna o prvocislo. Mi program funguje
pouze při vložení sudého čísla a nevypisu je, že se jedná o prvočíslo. Jsem začátečník, mohl by mi to nekdo doplnit? Děkuji

int main(int argc, char* argv[])
{
int a, x=2, e, z;
while ((e=getch()) != 'e' ) {
printf("\nZadej cele cislo : ");
scanf("%d",&a);
if ((a % x)==0) {
printf("\nNejvetsi delitel je : %d",a/x);
}
else {
while ((a % x)==0) {
x++;
}
}
}
return 0;
}

Nahlásit jako SPAM
IP: 90.176.20.–
MaS0
Návštěvník
12. 10. 2008   #2
-
0
-

já vůbec nechápu co ten program má dělat, vždyť největší dělitel čísla je to číslo samo???

Nahlásit jako SPAM
IP: 195.146.114.–
Mihulik0
Návštěvník
12. 10. 2008   #3
-
0
-

Pokud tazatel hledá algoritmus ke stanovení největšího SPOLEČNÉHO dělitele, pak je to algoritmus nazvaný "Euklidův algoritmus". Funguje ovšem pouze v množině N, což ovšem předpokládám stačí.

Pokud se tedy tazatel ptal na tohle, jelikož jeho příspěvěk je velmi chaotický...

Nahlásit jako SPAM
IP: 85.13.98.–
MaS0
Návštěvník
12. 10. 2008   #4
-
0
-

potom je ten kód uplně špatně
kód v C++



#include "iostream"

using namespace std;

int main(){
int a,b;
cout << "Zadejte první číslo: ";
cin >> a;
cout << "Zadejte druhé číslo: ";
cin >> b;
while(a != b){
if (a>b)
a=a-b;
else
b=b-a;
};
cout << "Společný dělitel je: " << a;
cin.get();
cin.get();
return 0;
}


Nahlásit jako SPAM
IP: 195.146.114.–
KIIV
~ Moderátor
+43
God of flame
12. 10. 2008   #5
-
0
-

neni marny najit nejmensiho delitele (vetsiho nez 1) a tim vydelit cislo... pak mas i jeho "doplnek" ...
+ nema smysl kontrolovat delitele dal nez do odmocniny z toho cisla...
pokud si nenasel delitel pred tim tak ho nenajdes ani pak...


jen takovej priklad:
12 -> zacinam dvojkou (jednicka by byla k nicemu protoze bychom nalezli cislo samo) ... ano je delitelne dvojkou ... 12:2 = 6 ... a 6 je nejvetsi delitel krom cisla sameho...

EDIT: trochu sem upravil pojmy

Nahlásit jako SPAM
IP: 80.250.27.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Mihulik0
Návštěvník
13. 10. 2008   #6
-
0
-

ale vždit hledat největšího dělitele čísla je blbost, jelikož je jím VŽDY číslo samo. Má smysle hledat pouze SPOLEČNÉHO dělitele n čísel!

Nahlásit jako SPAM
IP: 89.24.4.–
MZetko0
Stálý člen
13. 10. 2008   #7
-
0
-

Mihulik:
Jéžiš. Vždyť oni přece myslí největšího dělitle který je menší než zadané číslo n! Jen to špatně formulují. :smile1:

Nahlásit jako SPAM
IP: 83.208.235.–
"Přirozená inteligence bude umělou brzy překonána. Přirozenou blbost však umělá nemůže nahradit nikdy"
Jára da CIMRMAN
http://www.newgame.cz
Mihulik0
Návštěvník
13. 10. 2008   #8
-
0
-

MZetko napsal:
Mihulik:
Jéžiš. Vždyť oni přece myslí největšího dělitle který je menší než zadané číslo n! Jen to špatně formulují. :smile1:


oki oki, já to samozřejmě pochopil, jenže člověk musí umět formulovat dotaz, když něco chce, že...
V tomhle případě bude asi nejlepší způsob to, co psal KIIV. Jen bych doplnil, když už se tu hádáme o "prkotinách", že za nejmenšího dělitele samozřejmě nelze považovat jedničku, pokud tazatele vyžaduje takovéto zadání:)

Nahlásit jako SPAM
IP: 85.13.98.–
jiM.sTREET0
Newbie
14. 10. 2008   #9
-
0
-

MaS: pro 2 vstupy jsem to udelal 2ma zpusoby. Timto a jeste jednim imho, ale na to prvocislo jsem prisel tez

Nahlásit jako SPAM
IP: 90.176.20.–
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, 94 hostů

Podobná vlákna

Nejvetsi spolecny delitel — založil Jirka

Moderátoři diskuze

 

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