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

Cyklus – C / C++ – Fórum – Programujte.comCyklus – C / C++ – Fórum – Programujte.com

 

Elendor0
Duch
15. 2. 2010   #1
-
0
-

Dobrý den, hledám někoho kdo by mi dokázal poradit s tímto problémem. Mám cyklus který je napsán níže, který slouží k vypsání všech dělitelů čísla které zadáme. Ale pokud to řeším přes tento cyklus a zadám nějaké opravdu velké číslo tak to tomu počítači trvá opravdu hodně dlouho než to spočítá. Chtěl bych se tedy zeptat jestli by někdo nevěděl nějaký jiný algoritmus který by to dokázal urychlit.

static void Main(string[] args)
{
Console.WriteLine("zadej cislo");
int a = Convert.ToInt32(Console.ReadLine());
int i = 1;
for (i= 1; i < a; i++ )
{
if (a % i == 0)
{
Console.WriteLine(i.ToString());
}
}
Console.WriteLine(a.ToString());
Console.ReadLine();
}

Nahlásit jako SPAM
IP: 79.98.153.–
Matrix17
~ Anonymní uživatel
300 příspěvků
15. 2. 2010   #2
-
0
-

Můžeš to číslo například rovnou vydělit dvěma. Protože 1 a samo sebou je dělitelný vždycky. Pak stačí projet jen od půlky do do dvou.

Nahlásit jako SPAM
IP: 78.156.128.–
KIIV
~ Moderátor
+43
God of flame
15. 2. 2010   #3
-
0
-

hodne se zrychli pokud pojedes v cyklu jen do poloviny z toho cisla...

Nahlásit jako SPAM
IP: 80.250.1.–
Program vždy dělá to co naprogramujete, ne to co chcete...
liborb
~ Redaktor
+18
Guru
15. 2. 2010   #4
-
0
-

A pokud je nepotřebuješ rovnou do výpisu seřazené, tak ti stačí to procházet je do odmocniny z toho zadaného čísla ....

Nahlásit jako SPAM
IP: 85.207.166.–
KIIV
~ Moderátor
+43
God of flame
15. 2. 2010   #5
-
0
-

To liborb : jj najde jedno a delenim vypocita druhej delitel..

Nahlásit jako SPAM
IP: 80.250.1.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Elendor0
Duch
16. 2. 2010   #6
-
0
-

Děkuju všem za rady a rád bych se zeptal jak to myslíte s tou odmocninou?

Nahlásit jako SPAM
IP: 79.98.153.–
liborb
~ Redaktor
+18
Guru
16. 2. 2010   #7
-
0
-

Řekněme číslo 100.

Je dělitelné 1, a to znamená, že je dělitelné i 100.
Je dělitelné 2, a to znamená, že je dělitelné i 50.
Je dělitelné 5, a to znamená, že je dělitelné i 20.
Je dělitelné 10.

Testoval jsem jen do odmocniny ze zadaného čísla (tj. v tomto případě do 10), našel jsem je všechny, ale nejsou setříděné.

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

Podobná vlákna

Cyklus for(...... — založil Hansel

Cyklus — založil Jan Burant

Cyklus — založil JerryM

Cyklus for — založil casper777

While cyklus — založil Ludek

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ý