Diskuze: Jak primet program, aby mi vypsal delitele zadaneho cisla
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 5 zpráv z 5.
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Nejdřív požaduješ, aby program vypsal všechny jeho dělitele kromě
zadaného čísla a jedničky, pak ale píšeš, že u 12 je v pořádku
výstup: 1,2,3,4,6,12 (jednička i číslo samotné tak je, což je v rozporu s
tou první větou).
Nestačilo by ti tedy upravit cyklus:
For i As Integer = 2 To zadane - 1
Ja jsem zacatecnik, mam dost problém se spravnym vyjadrovanim k věci. Ale reseni funguje, diky.
Je třeba být jasnější v zadávání toho co se má udělat. Rozpory jsou zde minimálně dva.
Pro eliminaci čísla 1 a toho samého čísla Ti už poradil Alesh. Jinak za polovinou už nemá smysl testovat, pokud do té doby se nenašel dělitel. Číslo je pak automaticky prvočíslo.
Je tedy třeba určit pouze to zda číslo je prvočíslem nebo není?
Spíše bych to viděl na variantu kde v případě, že číslo je prvočíslem, tak se vypíše hláška: "Číslo X je prvočíslo.". A v případě, že číslo není prvočíslem se vypíše hláška: "Číslo X není prvočíslem, je dělitelné: x,x,x,x".
No a to je ten problém, opet je to něco, co jsem nikdy nedelal
Takto přemýšlet nesmíš! Kdyby se tímto řídili všichni, nic nového by nevzniklo.
Je třeba zamyslet se jak je možné úlohu řešit a jaké prostředky k tomu budeš potřebovat. Operace modulo je v tomto případě to hlavní. Předčasné ukončení cyklu je další věc, kterou využiješ, pokud chceš mít program skutečně efektivní.
Ted to dela presne to, co to ma delat, i při zadani jinych cisel, co jsou prvočísla, je program rozlisi.
Zobrazeno 5 zpráv z 5.