pomoc s jednym zadanim

Programovacie jazyky, rady, poradňa...
marianna
Light Expert
Light Expert
Používateľov profilový obrázok
Príspevky: 43
Registrovaný: 19 sep 2005, 20:24
Bydlisko: Šaľa
Kontaktovať používateľa:

pomoc s jednym zadanim

Príspevok od používateľa marianna »

napis vyraz, ktorym zistis ci dane cislo je alebo neni mocnina z dvojky
mas to napisat v pseudojazyku..ale take ze cele cislo tam vobec nefiguruje
-----------------------------------------------------------------------------------------
xalani helfnite mi s tym :wink:
ppt
Darca
Darca
Používateľov profilový obrázok
Príspevky: 1920
Registrovaný: 27 máj 2006, 11:24
Kontaktovať používateľa:

Re: pomoc s jednym zadanim

Príspevok od používateľa ppt »

marianna napísal:napis vyraz, ktorym zistis ci dane cislo je alebo neni mocnina z dvojky
mas to napisat v pseudojazyku..ale take ze cele cislo tam vobec nefiguruje
-----------------------------------------------------------------------------------------
xalani helfnite mi s tym :wink:
Nechapem celkom :? . Co to ma byt s tym celym cislom?
V pascale by som to napisal takto:
var pom, cislo:integer;
JE:boolean;
begin
readln(cislo);
pom:=1;
JE:=FALSE;
while pom<cislo do
begin
pom:=pom*2;
if pom=cislo then JE:=TRUE;
end;
if JE then writeln('Je mocnina.') else writeln('Nie je mocnina.');
end.
mastermind
VIP
VIP
Používateľov profilový obrázok
Príspevky: 4810
Registrovaný: 09 feb 2005, 13:17

Príspevok od používateľa mastermind »

Ak hovorime o PL jazyku teda o presentation language mozes si tam definovat typ aky len chces.
oborpeto
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 129
Registrovaný: 21 jún 2006, 17:00
Bydlisko: cadca
Kontaktovať používateľa:

Príspevok od používateľa oborpeto »

dovolim si zfeefektivnit:)

Kód: Vybrať všetko

var pom, cislo:integer; 
JE:boolean; 
begin 
readln(cislo); 
pom:=1; 
JE:=FALSE; 
while pom<=sqrt(cislo) do 
begin 
pom:=pom*2; 
if pom=cislo then JE:=TRUE; 
end; 
if JE then writeln('Je mocnina.') else writeln('Nie je mocnina.'); 
end.
ppt
Darca
Darca
Používateľov profilový obrázok
Príspevky: 1920
Registrovaný: 27 máj 2006, 11:24
Kontaktovať používateľa:

Príspevok od používateľa ppt »

oborpeto napísal:dovolim si zfeefektivnit:)

Kód: Vybrať všetko

var pom, cislo:integer; 
JE:boolean; 
begin 
readln(cislo); 
pom:=1; 
JE:=FALSE; 
while pom<=sqrt(cislo) do 
begin 
pom:=pom*2; 
if pom=cislo then JE:=TRUE; 
end; 
if JE then writeln('Je mocnina.') else writeln('Nie je mocnina.'); 
end.
Jasne, este sa tam daju robit upravy. Napr co ma napadlo:

Kód: Vybrať všetko

var pom, cislo:integer; 
JE:boolean; 
begin 
readln(cislo); 
pom:=1; 
JE:=FALSE; 
while (pom<=sqrt(cislo))or (JE=FALSE) do 
begin 
pom:=pom*2; 
if pom=cislo then JE:=TRUE; 
end; 
if JE then writeln('Je mocnina.') else writeln('Nie je mocnina.'); 
end.
IgiPoP
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 446
Registrovaný: 12 sep 2005, 8:17
Bydlisko: MT

Príspevok od používateľa IgiPoP »

naco pouzivat ciklus ked nieje treba

Kód: Vybrať všetko

var cislo:integer; 
      sqrtNum,rozdiel:real;

begin 
  readln(cislo); 
  sqrtNum := sqrt(cislo);
  rozdiel := sqrtNum - trunc(sqrtNum);
  if rozdiel > 0 then
    writeln('Nie je mocnina.'); 
  else 
    writeln('Je mocnina.') 
end.
gwixt
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3912
Registrovaný: 24 sep 2005, 16:50
Bydlisko: Trash-Can

Príspevok od používateľa gwixt »

IgiPoP napísal:naco pouzivat ciklus ked nieje treba

Kód: Vybrať všetko

var cislo:integer; 
      sqrtNum,rozdiel:real;

begin 
  readln(cislo); 
  sqrtNum := sqrt(cislo);
  rozdiel := sqrtNum - trunc(sqrtNum);
  if rozdiel > 0 then
    writeln('Nie je mocnina.'); 
  else 
    writeln('Je mocnina.') 
end.
podla tohto napr 128,512,2048... nie su mocninou dvojky .. takze asi to nie je dobry algoritmus
IgiPoP
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 446
Registrovaný: 12 sep 2005, 8:17
Bydlisko: MT

Príspevok od používateľa IgiPoP »

gwixt napísal:podla tohto napr 128,512,2048... nie su mocninou dvojky .. takze asi to nie je dobry algoritmus
juuuuu :oops: , mas pravdu, idem sa hanbit do kuta.
ale ked niekto bude potrebovat zistit, ci je cislo po druhej odmocnine celociselne, tak je tu na to script. :lol:
Napísať odpoveď