Pereiti prie turinio

Rekomenduojami pranešimai

program Noname1;
   var a,b:integer;

procedure tikrinti(var a:integer);
var a1,i,j,b1:integer;
begin
   i:=0;
   j:=0;
   b1:=0;
   a1:=a;
   while a1 <> 0 do
   begin
       j:=j+1;
       b1:=a1 mod 10;
       a1:=a1 div 10;
       if b1 mod 2 = 0 then
       begin
           i:=i+1;
       end;
   end;
   if i = j then
   Writeln(a);
end;

begin
   Writeln('Iveskite intervala');
   Readln(a,b);
   while a <= b do
   begin
       tikrinti(a);
       a:=a+1;
   end;
   readln;
end.

 

Procedūroje dalini skaičių tol kol dalinasi iš 10, poto žiūri ar visi skaitmenys buvo lyginiai ar ne visi. Jei visi lyginiai - išvedi skaičių, jei ne - neišvedi. :)

Redagavo Nully
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Nelabai patinka toks tikrinimas. Čia labiau tiktų funkcija, kuri gražina boolean reikšmę pasakančią ar skaičius lyginis. Man toks algoritmas priimtinesnis

 

even := true;
t := n;
while(even and (t <> 0)) do begin
 digit := t mod 10;
 t := t div 10;
 if ((digit % 2) <> 0)) then even := false;
end;
return even; //atrodo paskalyje kitaip reikia rašyti, neprisimenu

Paskalio sintaksės neprisimenu ir kodo netestavau.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...