Prepis do c++

C++, C#, Visual Basic, Delphi, Perl a ostatní

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod mariank 4. 4. 2009 10:45

Je daný algoritmus:
read(a); s:=0;
repeat
s := s + a mod 2;
a := a div 2;
until a = 0;
write(s);
a, Koľkokrát prebehne cyklus pre vstup a = 10?
b, Nájdi hodnotu vstupnej premennej a takú, aby výstup bol s = 3
c, Aké je najmenšie číslo, pre ktoré cyklus prebehne 4 krát?


Prepise to niekto do c++, tak aby to fungovalo ?
Vopred dik.
mariank
Junior

Odeslat příspěvekod wizpal 4. 4. 2009 12:23

a) 4krát.
b) 13, 14, ...
c) 8

Kód: Vybrat vše
#include <iostream>

int main()
{
    int a = 10, s = 0;       
   
    do
    {
        s = s + (a % 2);
        a = a / 2;       
    } while(a != 0);
   
    std::cout << s;
}
Keep It Simple, Stupid!
wizpal
Junior
Uživatelský avatar

Odeslat příspěvekod mariank 4. 4. 2009 16:40

Namiesto a!=0 som mal len a=0
Preto mi to neslo.

Dik.
mariank
Junior

Odeslat příspěvekod Beholder_ 4. 4. 2009 17:36

Já zíram ...
wizpal konečne predviedol zmysluplný kód :tleskani , a dokonca bez poznámok
o lenivosti niekoho

čo sa týka toho b) 13,14,... postupnosť takto nezačína!
správne je 7,11,13,14,19,...
sú to všetky tieto čísla a :
nech x,y,z sú celé čísla, pre ktoré platí
x>y>z>=0 , potom a=2^x+2^y+2^z
2,1,0 => a=7
3,1,0 => a=11
3,2,0 => a=13
3,2,1 => a=14
4,1,0 => a=19
atd...
Neverte svojmu srdcu. Chce vašu krv.
Tak, a prerazil si múr hlavou - a čo budeš robit v susednej cele?
Beholder_
Junior

Odeslat příspěvekod wizpal 4. 4. 2009 19:16

mariank píše:Namiesto a!=0 som mal len a=0
Preto mi to neslo.

Dik.

A kdyby si uměl anglicky tak i víš proč...
Keep It Simple, Stupid!
wizpal
Junior
Uživatelský avatar

Odeslat příspěvekod aberez11 5. 4. 2009 13:01

c) ak su to cele cisla tak najmensi vstup pre 4 iteracie je -15 nie? :-) (sa len pytam :-) )
dedukcia: "Tí čo s tým nemajú problémy, s tým nemajú až také problémy. Ale tí čo s tým problémy majú, s tým majú problémy.." (prednasajuci vysvetluje studentom ako sa veci maju)
aberez11
Junior
Uživatelský avatar

Odeslat příspěvekod kozzi11 5. 4. 2009 13:50

wizpal píše:
mariank píše:Namiesto a!=0 som mal len a=0
Preto mi to neslo.

Dik.

A kdyby si uměl anglicky tak i víš proč...

No i kdyby uměl anglicky, tak zrovna tady by mu to moc pomoct nemuselo. jelikoz until se dá přeložit i jako dokud. Ale v pocitacove terminologii je to brano jako než.
Člověk vždy nemusí dostat toco chce, ale má právo si o to říct
kozzi11
Junior


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků