Diskuze: Pomoc so zadaním v jazyku C
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 4 zpráv z 4.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
Ahoj,
zkusil jsi programovat, tak proč sem nedáš svůj kód nebo rovnou nenapíšeš, v jaké fázi jsi se zasekl? Pokud jsi tu nový, měl bys vědět, že úkoly se tu tímto způsobem neřeší...
V opacnem pripade, kdyz zadavas praci a nemas moc penez, je lepsi pouzit
google. Delnici ti take nepujdou vykopat kanal pro polozeni kabelu jen proto, ze
jim to reknes, napises na forko
Jinak. Co od nas ocekavas?
Predpokladejme 2.
" Vygenerujte 20 náhodných hodnôt x od 0 do 9999. Napíšte program, ktorý
nájde hodnoty a a M, kde M je minimálne možné, tak že hašová funkcia
a*x%M dáva jedinečné hodnoty (bez kolízie) pre zadané hodnoty x."
"Vygenerujte 20 náhodných hodnôt x od 0 do 9999."
cyklus(i=0, i<20; i++) {x = random(9999);}
hašová funkcia a*x%M
function mujHash(a,x,M) {return a * x % M}
kde
* je nasobeni
% je modulo po celociselnem deleni, pr:
7 / 2 = 3.5 (desetinne cislo, s desetinnou carkou/teckou)
7 % 2 = 3 (cele cislo), zbytek 1, zbytek = 7 - 2 * 3, to, co zbyde po deleni, kdyz vysledek ma byt cele cislo
" kde M je minimálne možné"
netusim, co to znamena, minimalne mozne z ceho? Ta veta nedava smysl. Mozna by
ucitelka slovenstiny vedela poradit proc tomu tak je a jak se ta veta ma napsat
spravne
"Napíšte program, ktorý nájde hodnoty a a M, kde M je minimálne
možné, tak že hašová funkcia a*x%M dáva jedinečné hodnoty (bez kolízie)
pre zadané hodnoty x."
Jestli to spravne chapu, mas udelat program, ktery bude neco hledat.
Cili, budes postupne zadavat 'a', 'M' a 'x', x mas vygenerovane prechozi casti.
Pocitat hash a pokud ten hash nemas uz nekde ve slovniku (v seznamu, v poli),
tak pridas novou polozku.
Nebo, jinak, vubec netusim, co by chtel zadavatel rici, ze by mel program delat.
Ja bych mu to reklamoval, chtel vic informaci, popsal mu, ktere casti nerozumis.
To se normalne dela, ze zakaznik neco placne slovy, ktere nedavaji dohromady moc
smysl, tak se ho proste zeptas a popises mu, jak to chapes, nebo das nejake
navrhy vysvetleni tech slov.
cyklus(list_x) cyklus(a) cyklus(M)
{
hash = mujHash(x, a, M);
jeHashVSeznamu(list_solution_saved, hash) ? je, preskoc : neni, pridej list_solution_saved.add(hash, x, a, M)
}
vypis seznam list_solution_saved
Ale nejsou mi jasna omezeni pro to a a M, od-do maji cykly probihat. Pro mne je to zadani nejasne.
Zobrazeno 4 zpráv z 4.