Pereiti prie turinio

parasykite (FPS)


Rekomenduojami pranešimai

Stai. Yra toks pratimelis: "Parasykite programa, kuri rastu dvieju skaiciu bendrus daliklius". Einama tema: "Ciklas FOR". Nu, negaliu as padaryti. Atsimenu, jog pries 1 metus dar viska gerai mokejau, o dabar kiek meginu nesigauna :-/ Tikrai dideliai daliai jusu toks usdavinelis 1 min darbas. Padekite

 

:)

 

program palukanos;

var a,b,h,p,suma,dienu: real;

begin

writeln('palukanu moka');

read(a);

b:=100;

a:=100+p;

dienu:=0;

h:=0;

while b<100000 do

begin

suma:=b*a/100;

b:=b+suma;

dienu:=dienu+1;

end;

writeln(dienu:2:0)

end.

Redagavo Matas
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Program recursionTest (input,output);
Var
  x,y : integer;

function gcd (a, b: integer) : result real;
  var x : integer;
begin
  if b= 0 then gcd := a
  else begin
 x := a;
 while (x >= b) do
  begin
	x := x - b
  end;
  gcd := gcd(b,x)
 end
end
begin
  read (x,y);
  if x>y then write (gcd(x, y))
end. 

 

cia truputi paguglinus radau, gal galima ir patogesniu variantu rast ;] o siaip tai tikrai nesudetinga, pats pasedejes pusvalandi turetum padaryt, jei moki euklido algoritma. o dabar del penkiu minuciu kitus gaisini ;]

 

edit: ai tau su for reikia.. nu nzn paguglink arba pamastyk, perdaryk.

Redagavo klemkas
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Dar nerašiau JPM'ui uždavinių, bet darysiu. O algoritmą sugalvojau, tik sintaksės dar ne.

....

while

(sk mod a = 0) and (sk mod b = 0)

....

Jei klaida dėl sintaksės, nepyk :)

 

Ai, tada sk+1, ir vėl tada bandyt reik, bet va, kad nežinau kaip parašyt :)

Redagavo Stumikaz
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Program recursionTest (input,output);
Var
  x,y : integer;

function gcd (a, b: integer) : result real;
  var x : integer;
begin
  if b= 0 then gcd := a
  else begin
 x := a;
 while (x >= b) do
  begin
	x := x - b
  end;
  gcd := gcd(b,x)
 end
end
begin
  read (x,y);
  if x>y then write (gcd(x, y))
end. 

 

cia truputi paguglinus radau, gal galima ir patogesniu variantu rast ;] o siaip tai tikrai nesudetinga, pats pasedejes pusvalandi turetum padaryt, jei moki euklido algoritma. o dabar del penkiu minuciu kitus gaisini ;]

 

edit: ai tau su for reikia.. nu nzn paguglink arba pamastyk, perdaryk.

Cia visai ne ta dalyka ta programa daro. Ji iesko didziausio bendro dvieju skaiciu daliklio, o ne visu bendru dvieju skaiciu dalikliu. :) Ir dar iesko tokiu principu, kuri suvokti einantiems For cikla tikrai sunku. Rekursines funkcijos perprantamos gerokai veliau. :)

 

Stumikaz: na jau siek tiek panasiau, bet ne visai taip.

Jei algoritmas nebutinai turi buti mega-optimalus, pritaikytas milziniskiems skaiciams, o uztenka tiesiog paprasto budo, tai as daryciau taip:

pirma surandam maziausia is tu dvieju duotu skaiciu (salygini sakini juk jau mokam? :D) ir padarom taip, kad sk1 butu mazesnis, o sk2 - didesnis.

Tada ciklas:

for i:=1 to sk1 do

if (sk1 mod i = 0) and (sk2 mod i = 0) then write(i);

 

Is principo tai ko gero net nebutina ta tikrinima pradzioj daryti kuris didesnis, bet susitaupo nemazai laiko, jei vienas skaicius zymiai didesnis uz kita. :D

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Stai. Yra toks pratimelis: "Parasykite programa, kuri rastu dvieju skaiciu bendrus daliklius". Einama tema: "Ciklas FOR". Nu, negaliu as padaryti. Atsimenu, jog pries 1 metus dar viska gerai mokejau, o dabar kiek meginu nesigauna :-/ Tikrai dideliai daliai jusu toks usdavinelis 1 min darbas. Padekite

 

:unsure:

 

EDIT: Aciu, pagaminau!

 

Program dalikliai;

Var a,b,did,maz,i: integer;

begin

writeln('1as skaicius');

read(a);

writeln ('2as skaicius');

read(B);

if a>b then did := a

else maz := a;

if a<b then did := b

else maz := b;

for i:=1 to maz do

if (maz mod i = 0) and (did mod i = 0) then write(i);

end.

Redagavo Matas
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.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

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