Pereiti prie turinio

Rekomenduojami pranešimai

Kodas nėra gražus, bet rašiau paskubomis. Kad veiktų.:)

 

program Noname1;



var m, n : integer;

function is_divisible(a : integer) : boolean;
   var temp, n : integer;
       b : boolean;
   begin
     temp := a;
     b := True;
     while a > 9 do begin
       n := a mod 10;
       if (n <> 0) and (temp mod n <> 0) then begin is_divisible := False; b := False;  end;
       a := a div 10;
     end;
     if b then begin
       if (temp mod a <> 0) then is_divisible := False else is_divisible := True;
     end;
   end;

begin
 write('m='); readln(m);
 write('n='); readln(n);
 while m <= n do begin
   if is_divisible(m) then writeln(m);
   m += 1;
 end;
end.

Redagavo aemdy
Nuoroda į pranešimą
Dalintis kituose puslapiuose

aemdy, o įmanoma šią programą padaryti truputi paprasčiau?

Ką tu vadini paprastesne programa? Pagrindinėje programoje gaunamos m ir n reikšmės iš vartotojo, paskui vykdomas ciklas nuo m iki n. Tada m paduodamas į funkciją is_divisible, kuri išveda True, jei m dalijasi iš visų savo skaitmenų be liekanos, arba False, jeigu nesidalina. Jeigu dalinasi, tada skaičius išspausdinamas.

 

Kaip veikia funkcija? Skaičius su mod skaidomas skaitmenimis ir tikrinama ar dalinasi be liekanos. Viskas.:)

 

 

 

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Iš operand – konstant ir kintamj – sudaromi aritmetiniai reiškiniai. Operacij atlikimo
tvarka nurodoma skliaustais. Kai nra skliaust, operacijos atliekamos pagal prioritetus:
- (unarin atimtis)
* / div mod
+ -

 

Tai reiškias nelabai teisingai...

Turėtų tada pirma 4 div 2 = 2

 

6 mod 2 = 3

 

ats 3

 

Ar vis dėl to aš klystu ir knygoje klysta?:)

Redagavo HOST321
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Iš operand – konstant ir kintamj – sudaromi aritmetiniai reiškiniai. Operacij atlikimo
tvarka nurodoma skliaustais. Kai nra skliaust, operacijos atliekamos pagal prioritetus:
- (unarin atimtis)
* / div mod
+ -

 

Tai reiškias nelabai teisingai...

Turėtų tada pirma 4 div 2 = 2

 

6 mod 2 = 3

 

ats 3

 

Ar vis dėl to aš klystu ir knygoje klysta?:)

Manau knygoje norėjo pasakyti, kad vienoje eilutėje esantys veiksmai turi tą patį prioritetą (pvz. daugyba ir dalyba tarpusavy eina iš eilės)

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ą...