Pereiti prie turinio

Rekomenduojami pranešimai

Sveiki , gal kas galetumete padeti : Parašykite funkciją, kuri skaičiuoja derinių iš n po k skaičių. (Derinių skaičius randamas pagal formulę n!/((k!)(n-k)!).)Funkcijos antraštė turi būti tokia:

function combine(n, k: integer):longint;

 

Ir yra duotas toks pavyzdys : Prisegu faila

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Taigi pasirasyk papildoma faktorialo funkcija ir viskas...

function f(a:byte):longint;
var i:byte;
      ats:longint;
begin
ats := 1;
for i:=2 to a do
     ats *= i;
f := ats;
end;

o dabar gali ir savo deriniu funcija labai lengvai pasirasyti.

 function combine(n, k:integer):longint;
begin
combine := f(n) div f(n-k) div f(k);
end;

Cia pats paprasciausias budas, aisku jeigu daraisi darbui su didesniais skaiciais, manau galetum labiau viska optimizuoti, kad rezius neperzenginetum.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Tau tiesiog pasisekė, aš tokią pat programą kaip tik rašiau vienam žmogui, tad pasidalinsiu ir su tavimi :)

 

program Deriniai;

var n, k :integer;
answer :longint;

function combine (n, k :integer) :longint;
var n1, n2 :longint;
i :integer;
begin
n1 := 1;
for i := n downto n-k+1 do
begin
	n1 := n1 * i;
end;

n2 := 1;
for i := 1 to k do
begin
	n2 := n2 * i;
end;

combine := n1 div n2;
end;

begin
   WriteLn('Iveskite n ir k reiksmes:');
ReadLn(n, k);

answer := combine(n, k);

WriteLn(answer);
ReadLn;
end.

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