-
Mobilarena
Új hozzászólás Aktív témák
-
opr
nagyúr
válasz
Cathfaern #10637 üzenetére
Nem is kell az osszeset, csak valamelyiket.
Egyebkent pont ez a nehez ebben a tipusu interjuban, nem a matek resze.
Ugy ertem, hogy:
30 perced van, ez alatt teljesen meg kell erteni a feladatot, barmint elnezel, cumi van.En elsore pl azt ertettem felre, hogy azt hivja equilibrium pontak, ha az adott elem egyenlo az elotte es utana levok osszegevel. Tudom, hulye hiba, de ez ilyen.
A 30 perc alatt a "Run" paranccsal egy nagyon szimpla tesztet kapsz, tehat matematikailag tudod ellenorizni, viszont:
Amint megnyomod a submit gombot, game over, nincs ujraprobalas. Tehat barmit benezel (ami nyilvan nem a matek lesz), az kemenyen levonodik a vegso eredmenybol, es boven van mit benezni, mint itt a fentebbi kollegak kozul mindenkinek (magamat is beleertve) sikerult is.En a tulcsordulast szivtam be, ami persze azonnal kiderul, megoldani is konnyu, de megis konnyu becumizni, es akkor azonnal elbuksz vagy 30 szazalekot.
-
válasz
Cathfaern #10607 üzenetére
Papíron tömb rendezés, meg fejben (papíron) változók állapotának nyilvántartása azért nem anyira...
Itt kissé félreértjük egymást. Egy tömb rendezéshez nem kell sok matek, de azt pl. tudnia kell, hogyan és mikor kell kilépni a ciklusból, és ennél többet szerintem nem szabad kérni papíron, sem matekból. Nekem egyszer kellett ilyet írnom, és teljesen utáltam. Ezzel együtt tesztnek nem rossz, mert fejben kell kódot összerakni. Ezt nehezebb tanulni, mint a debugolást. Szerintem.A többivel viszont egyetértek. Sőt, ha visszaolvasol, én pont inkább azt írtam, amit Te is mondasz, hogy a matek tesztelése szerintem nem a jó irány.
-
sztanozs
veterán
válasz
Cathfaern #10542 üzenetére
Vélelmezem úgy érti, hogy nincs bizonyítható programozási referenciiája (pl adminként dolgozott eddig).
Nálam is kb ez a helyzet. Ha el akarnék menni fejlesztőnek - kérdéses, hogy felvennének-e nem junior fejlesztői poziba 15 év ITSec és 1 év feljeszői (15 évvel ezelőttről) referenciával.
-
VladimirR
nagyúr
válasz
Cathfaern #351 üzenetére
ha jol ertem, akkor neked valami olyasmi kell, hogy nezed a minimalisan szukseges lepesek szamat (log2n) es a tenyleges tippeket es a ketto hanyadosabol hatarozod meg, hogy az illeto ''ugyes'' volt-e
mondjuk ha a hanyados nagyobb, mint egy (vagyis <log2n tippel eltalalta), akkor ugyes, ha a hanyados egyenlo eggyel, akkor elfogadhato (mert ugye kovette az algoritmust, de semmi extrat - pl mazli - nem mutatott fel), ha pedig a hanyados kisbb mint egy, akkor (leven tobb tippje volt, mint ami a megoldashoz szukseges) ejnye-bejnye, mert csak vaktaban lovoldozott (s nagy szamoknal ez eleg gaz lehet, mert pl mig az algoritmust hasznalva ~1 000 000 szambol 20 lepesben megtalalhato a keresett, addig totozva ez igen hosszadalmas es az 1e6 nem is olyan nagy szam) -
VladimirR
nagyúr
válasz
Cathfaern #347 üzenetére
zarojelezessel vannak gondok (most ezt lehet eltulzom, de en inkabb mindenhova zarojelet rakok mar) - ami biztos rossz, hogy mindket ertekadasodnal egy nyito es ket zaro zarojel szerepel
if ( ( ( also_korlat + felso_korlat ) / 2 ) < szam ) {
also_korlat = ( ( also_korlat + felso_korlat ) / 2 );
} else {
felso_korlat = ( ( also_korlat + felso_korlat ) / 2;
}
szerk.: faster: ez a sebesseg olyok mar idegesito
[Szerkesztve] -
faster
nagyúr
válasz
Cathfaern #347 üzenetére
Mintha a zárójelek nem stimmelnének
if (((also_korlat+felso_korlat)/2) < szam)
also_korlat = (also_korlat+felso_korlat)/2;
else felso_korlat = (also_korlat+felso_korlat)/2;
MSVC-vel nincs gond, később, ha már jobban érted a C, c++-t, és a fordítót, ráérsz kipróbálni mondjuk egy DevC-t. -
Miracle
senior tag
válasz
Cathfaern #344 üzenetére
sorry.
mondjuk így néz ki amit akarsz:
int a[1..100]; /* ebbe a tömbbe eltárolod a számokat, amikben keresni akarsz, persze _növekvő_ sorrendben.*/
struct nincs_meg{};
ekkor a függvény(a pontos a sorok elején csak a tabulálás miatt vannak ott):
int logker(const int[] t, const int b, const int e, const int what)
{
. int temp = (b+e) /2;
. if (t[temp] > what)
. {
. return logker(v, b, temp, what);
. }
. else
. {
. if (v[temp] == what) return temp;
. if (b = e) throw(nincs_meg);
. return logker(v, temp, e, what);
. }
}
ez egy rekurzív megvalósítás, nem garantálom, hogy műxik, nem fordítottam le, de szerintem működni fog. vedd észre, hogy hiába statikus az a tömb mérete, ezt a függvény nem használja ki, bármekkora tömböt átadhatsz neki, csak a 2. és a 3. változó 0, illetve tömbméret-1 legyen. megvalósítható templatekkel is, de nem szeretném bonyolítani. így tudod használni
try
{
logker(a,0,99,40) //a fenti a tömbben keressük a 40 értéket
}
catch(nincs_meg){std :: cout << ''nincs ilyen értékű elem a tömbben\n'';}
remélem érthető(és működik)
a műveletigény azt jelenti, hogy ezzel az algoritmussal ha n hosszú a tömb, akkor legrosszab esetben log_2(n) felső-egész-rész lépésben megtalálod a keresett számot, log2n pedig az a szám, mire 2őt emelve n-et kapunk, így tudod kiszámolni számológéppel: log_2(n) = lg(n) / lg(2) (itt lg tetszőleges logaritmus, amit találsz a számológépeden) megjegyzem, hogy az átlagos műveletigény azt feltételezve, hogy a keresett száém megtalálásának valószínűsége minden rekeszben 1/n log_2(n) felső-egészrész -1
és bocs hogy összezavartalak, remélem kiengeszteltelek.. -
VladimirR
nagyúr
válasz
Cathfaern #344 üzenetére
math.h
egyebkent nem zavar be, igaza van - ha nincs kulon benne a feladatban, hogy szamold ki a lepesek szamat, akkor nincs ra szukseged
egyebkent az ilyen feladatokat a legkonnyebb programozni, hisz az algoritmus ott van elotted (irtad, hogy ''az elvet tudod'' - na ez nem csak az elv, ez maga az algoritmus)
egyebkent miben programozol? (ha jol remlik, akkor te linuxot nyuzols, szoval gondolom valami egyszeru szovegszerkeszto es parancssoros fordito) -csak azert mert pl a borland dos-os ''fejlesztokornyezeteinek'' (bp, bc) igen jo a sugoja, csak ajanlani tudom -
faster
nagyúr
válasz
Cathfaern #344 üzenetére
Bináris kereséshez nem kell logaritmust számolni, mert azt úgy számolod, hogy az intervallumot felezve közelíted az eredményt, és ehhez max. log2n lépésre van szükséged, de ezt nem kell előre kiszámolni. Te csak szépen közelítesz az eredményhez, majd hopp, megvan.
Egyébként úgy, ahogy VladimirR leírta 336-ban:
''van ugye az intervallumod, amit a ket ''korlatja'' hataroz meg, ha egyik sem esik egybe a szammal, akkor ellenorzod, hogy a max+min/2 az nagyobb, vagy kisebb, mint a szam, s ennek megfeleloen a max, vagy min erteket (az intervallum szele) egyenlove teszed a max+min/2-vel - igy egyre kisebb lesz az intervallum, mig el nem talalod a szamot''
[Szerkesztve] -
Miracle
senior tag
válasz
Cathfaern #338 üzenetére
de ne ne ne!
ne hagyd magad meghülyíteni!
neked nem kell logaritmust számotatni, arra semmi szükséged nincs, csak a progmatos(/műinfós? nem hiszem) kollégákból
előtört az algoritmusok műveletigényéről tanult anyag
, ami (hacsak nem írsz powerappot) annyira nem fontos. A kódoláshoz meg semmi köze
-
VladimirR
nagyúr
válasz
Cathfaern #335 üzenetére
tehat a ciklus az szvsz hatultesztelo legyen es azt nezze, hogy intervallum alfo, vagy felso korlatja egybeesik-e a szammal
van ugye az intervallumod, amit a ket ''korlatja'' hataroz meg, ha egyik sem esik egybe a szammal, akkor ellenorzod, hogy a max+min/2 az nagyobb, vagy kisebb, mint a szam, s ennek megfeleloen a max, vagy min erteket (az intervallum szele) egyenlove teszed a max+min/2-vel - igy egyre kisebb lesz az intervallum, mig el nem talalod a szamot
es azt hiszem, hogy kettesalapu logaritmus(intervallum hossza) lepesben allapithato meg a szam, de ebben nem vagyok 100%-ig biztos
remelem ki tudsz hamozni valamit abbol, amit ''irtam''
Új hozzászólás Aktív témák
Hirdetés
● olvasd el a téma összefoglalót!
- Bomba ár! Fujitsu LifeBook E754 - i5-4GEN I 8GB I 256SSD I 15,6" HD I HDMI I W10 I Garancia!
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7800X3D 32/64GB RAM RTX 4070Ti Super GAMER PC termékbeszámítás
- BESZÁMÍTÁS! ASUS Z390 i5 9500 16GB DDR4 512GB SSD RTX 2060 Super 8GB Rampage SHIVA Thermaltake 500W
- Azonnali készpénzes Sony Playstation 4 Slim / PS4 Pro felvásárlás személyesen/csomagküldéssel
- Csere-Beszámítás! Sapphire Pure RX 7900XT 20GB Videokártya! Bemutató darab!
Állásajánlatok
Cég: Liszt Ferenc Zeneművészeti Egyetem
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged