Avatar
kenwii80
Člen
Avatar
kenwii80:

Zdravím, studuji střední školu se zaměřením na Informační technologie a dostal jsem zadaní konstrukční práce ve jazyce C#, se kterým si jakožto začínající programátor nevím moc rady. Budu vděčný za každou pomoc :)

Zde je zadání:
Dvě kladná celá čísla A, B se nazývají spřátelená, jestliže číslo A je rovno součtu všech kladných dělitelů čísla B s výjimkou samotného a číslo B je rovno součtu všech kladných dělitelů čísla A, kromě A samotného. Napište program, který vytiskne všechny dvojice spřátelených čísel.

 
Odpovědět 22.3.2014 23:17
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na kenwii80
Jan Vargovský:

První krok bude popřemýšlet co ten program má vůbec dělat - http://cs.wikipedia.org/…%8D%C3%ADsla no a pak si rozdělil program na základní instrukce - zjištění kladných dělitelů z čísla A a potom z B apod. Napiš nějaký základ a pak ti pomůžeme konkrétně s nějakou částí.

 
Nahoru Odpovědět 22.3.2014 23:40
Avatar
Jan Vargovský
Redaktor
Avatar
Jan Vargovský:

Když bys nevěděl, koukni sem - dřív ne :)

http://www.itnetwork.cz/dev-lighter/335
 
Nahoru Odpovědět  +1 22.3.2014 23:50
Avatar
kenwii80
Člen
Avatar
Odpovídá na Jan Vargovský
kenwii80:

Předem se omlouvám za mé znalosti, ale jsem opravdový začátečník :) Co ten program má dělat jsem uz zkoumal právě na Wiki. Jelikož to musím dělat jako konzolovou aplikaci, tak sem napsal zatím jen úplný základ respektive podchytil základní chyby. Definoval jsem promenne A, B k tomu Try a Catch (tak nás to učí na škole) a přes podmíněný příkaz if jsem podchytil i případnou chybu pokud uživatel zadá misto kladných čísel záporná. Největší problém pro mě je, že absolutne nevím jak to napsat, aby ten program ozkousel dělitelnost všemi čísly, to je asi největší oříšek. Ráno sem mohu přihodit i ten kousek kódu co už mám :)

 
Nahoru Odpovědět 22.3.2014 23:56
Avatar
Eldan
Člen
Avatar
Eldan:

Zkus si program nejdříve napsat matematicky na papír. Pak ho zjednoduš tak, aby využíval jen základní operátory (+, -, *, /, %) a podmínky/cykly. Když budeš pořádně vědět co chceš naprogramovat, tak to půjde samo :)

Pokud potřebuješ pracovat se všemi existujícímy čísly, musíš začít od nějakého konce. A jediný konec, který znáš, je 0 (tedy pokud nejdeš do záporu). Takže začneš dole a budeš čísla donekonečna zvyšovat. Až to uživatle přestane bavit, program vypne :)

Editováno 23.3.2014 0:00
Nahoru Odpovědět 22.3.2014 23:57
Unobfuscated executable == free source code
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na kenwii80
Jan Vargovský:

Tak k tomu ti pomůže %, vrátí ti to zbytek po dělení. Takže projedeš číslo jednoduše cyklem a ptas se, jestli když vydělíš to číslo X právě iterovaným číslem Y, tak jestli je zbytek po dělení 0, jestli ano, je to dělitel a přidáš si ho k součtu.

 
Nahoru Odpovědět 23.3.2014 11:39
Avatar
kenwii80
Člen
Avatar
kenwii80:

http://www.itnetwork.cz/dev-lighter/336
zatím se snažím vypořádat s tím, aby program ozkoušel celočíselně vydělit číslo A všemi čísly, dokud se proměnná cyklu "i" nebude rovnat hodnotě A. V tuto chvíli si nevím dál rady, bohužel ani toto nefunguje tak jak jsem chtěl a proto se opět obracím na vás :)

 
Nahoru Odpovědět 24.3.2014 20:17
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 7 zpráv z 7.