Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 02. 01. 2013 11:27

doll
Příspěvky: 92
Reputace:   
 

Algoritmus – nejmenší číslo dělitelné 1–10

Zdravím. Jak mám postupovat co nejjednodušeji? Je to zvláštní... :-(
Děkuji.

Offline

  • (téma jako vyřešené označil(a) doll)

#2 02. 01. 2013 13:37

standyk
Místo: SR
Příspěvky: 770
Škola: UMB BB
Pozice: študent
Reputace:   55 
 

Re: Algoritmus – nejmenší číslo dělitelné 1–10

↑ doll:

Ahoj,
skús si prečítať toto.

Offline

 

#3 02. 01. 2013 13:38 — Editoval Miky4 (02. 01. 2013 14:18)

Miky4
Místo: Ostrava!!!
Příspěvky: 676
Reputace:   30 
 

Re: Algoritmus – nejmenší číslo dělitelné 1–10

Zdravím ↑ doll:
Algoritmus? Ty se vytvářejí pro obecnější úlohy, (třeba nejmenší číslo dělitelné 1 až n), tato úloha má jednoduché řešení, které se dá za minutu spočítat (2520).

↑ standyk:
Pochopil jsem, že to ↑ doll: nechce obecně.

Offline

 

#4 02. 01. 2013 13:41

doll
Příspěvky: 92
Reputace:   
 

Re: Algoritmus – nejmenší číslo dělitelné 1–10

↑ standyk:
Neumím Python...

Offline

 

#5 02. 01. 2013 13:55

standyk
Místo: SR
Příspěvky: 770
Škola: UMB BB
Pozice: študent
Reputace:   55 
 

Re: Algoritmus – nejmenší číslo dělitelné 1–10

↑ doll:

Hneď prvá odvoveď tam ale hovorí, že stačí použiť:

Code:

lcm(1,2,3,...,10) = lcm(1, lcm(2, lcm(3, lcm(4, lcm(5, lcm(6, lcm(7, lcm(8, lcm(9, 10)))))))))

Ak to potrebuješ spočítať len pre 1..10 tak to môžeš takto natvrdo vypísať.
Budeš tam ešte samozrejme potrebovať funkciu ktorá Ti vypočíta $lcm(a,b) = \frac{a\cdot b}{\gcd{(a,b)}}$ kde $\gcd{(a,b)}$ vieš vypočítať napríklad pomocou Euklidovho algoritmu.

Offline

 

#6 02. 01. 2013 13:57 — Editoval Miky4 (02. 01. 2013 14:07)

Miky4
Místo: Ostrava!!!
Příspěvky: 676
Reputace:   30 
 

Re: Algoritmus – nejmenší číslo dělitelné 1–10

Konkrétně pro tento případ by algoritmus mohl být třeba:

Code:

int vysledek=0;
bool nalezeno=false;
while(!nalezeno){
    vysledek++;
    nalezeno=true;
    for(int delitel=1; delitel<=10; delitel++){
        if(vysledek%delitel!=0){
            nalezeno=false;
            break;
        }
    }
}

Vím, že je to neefektivní, ale je to algoritmus, kterým se to číslo najde a dotyčný vůbec nemusí vědět, jak se NSN počítá.

Offline

 

#7 02. 01. 2013 15:31

doll
Příspěvky: 92
Reputace:   
 

Re: Algoritmus – nejmenší číslo dělitelné 1–10

↑ standyk:

Děkuji za pomoc.

Offline

 

#8 02. 01. 2013 15:32

doll
Příspěvky: 92
Reputace:   
 

Re: Algoritmus – nejmenší číslo dělitelné 1–10

↑ Miky4:

Já tenhle jazyk (nebo co to je :-)) neumím, ale děkuji za snahu.

Offline

 

#9 02. 01. 2013 17:44 — Editoval Miky4 (02. 01. 2013 17:45)

Miky4
Místo: Ostrava!!!
Příspěvky: 676
Reputace:   30 
 

Re: Algoritmus – nejmenší číslo dělitelné 1–10

↑ doll:
Ten kód se dá (s minimálními úpravami) použít v mnoha jazycích (který ovládáš ty? nebo neovládáš žádný?).

Zajímalo by mě, co je (bylo?) vlastně záměrem.
1: Jestli zjistit, jaký je NSN čísel od 1 do 10,
2: nebo zjistit postup, jakým to vypočítat,
3: nebo zjistit algoritmus pro stroj aby to spočítal,
4: nebo co vlastně.
5: Dále zda jsi to chtěla sama pro sebe,
6: nebo to máš jako zadání (ze školy například).

1: Od toho tu je wolframalpha.
2: Od toho je tu wikipedie.
3: ↑ Miky4:, ale napsalas, že tomu kódu nerozumíš, takže tento důvod to asi nebude.
4: Co vlastně?
5: Možnosti 1 nebo 2.
6: Pokud po vás chtěli možnost 3, tak nechápu, proč nezadali úlohu obecně.

Offline

 

#10 02. 01. 2013 18:18

doll
Příspěvky: 92
Reputace:   
 

Re: Algoritmus – nejmenší číslo dělitelné 1–10

↑ Miky4:

2, 3 a 6
Nejprve mám zapsat algoritmus graficky, poté ho budeme přepisovat v Pascalu.
Také nevím, proč to není obecné.

Offline

 

#11 03. 01. 2013 09:07 — Editoval Miky4 (03. 01. 2013 14:36)

Miky4
Místo: Ostrava!!!
Příspěvky: 676
Reputace:   30 
 

Re: Algoritmus – nejmenší číslo dělitelné 1–10

↑ doll:
Bohužel, já zase neovládám Pascal, ale postup je asi takovýto:
Postupně se procházejí přirozená čísla. U každého z nich se testuje, zda je dělitelné všemi čísli od 1 do 10 a když ne, tak se přejde k dalšímu číslu.
Pro čísla od 1 do 10 by měl i tento jednoduchý postup "hrubou silou" stačit. Ideální by bylo to spočítat, tak jak to popisují na wikipedii, tedy rozdělit na prvočinitele atd, ale to už je asi nad rámec.

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson