Kezdőoldal » Számítástechnika » Programozás » Valaki segítene ebben?

Valaki segítene ebben?

Figyelt kérdés

A feladat:

Írj programot, mely B(n, k) binomiális együtthatókat számít. A program olvassa be n és k értékét, majd írja ki B(n, k) értékét, melynek definíciója


n!

B(n,k) = ---------

(n-k)! k!

Lebegőpontos típust nem használhatsz.

Az eredményt long long unsigned típusban tárold, figyelj a kiírás formátumkódjára!

A működő, de nem megfelelő kódom:

[link]

A nem működő, de változtatott kódom:

[link]


2021. okt. 10. 15:02
1 2
 1/12 anonim ***** válasza:
írj egy faktoriális függvényt, és akkor ennyi a megoldás: f(n)/(f(n-k)*f(k))
2021. okt. 10. 15:09
Hasznos számodra ez a válasz?
 2/12 Pelenkásfiú ***** válasza:
Vicces, ez a 3. kérdés, amit ketten kérdeztek meg itt 1-2 nap eltéréssel. :D Csinálhatnátok együtt a feladatokat. :D
2021. okt. 10. 17:11
Hasznos számodra ez a válasz?
 3/12 A kérdező kommentje:
Lehet én vagyok csak a béna, de arra a másik kérdésre adott válaszok alapján se tudom megoldani a feladatot. Ráadásul az ottani kérdező valamilyen teljesen másféle megoldási módszert választott.
2021. okt. 10. 20:11
 4/12 Pelenkásfiú ***** válasza:

Annyit kell csinálnod, amit az első válaszoló írt (és én a másik kérdésnél).


Írsz egy faktoriális függvényt, aminek egy egész szám (mondjuk n) a bemenete és összeszorzod a számokat 2-től n-ig.

Ezt a függvényt kell meghívnod 3-szor a fent írt módon és meg is van az eredmény.


(Nyilván van ennél gyorsabb/hatékonyabb megoldás, de kezdőként ez így teljesen jó.)

2021. okt. 10. 20:17
Hasznos számodra ez a válasz?
 5/12 anonim ***** válasza:

Egy lehetséges megoldás Pythonban:

def fact(n):

if n == 0:

return 1

else:

return n * fact(n - 1)

n = 5

k = 3

bin = fact(n) / (fact(k) * fact(n - k))

print(str(bin))


Kimenet:

10

2021. okt. 11. 08:47
Hasznos számodra ez a válasz?
 6/12 A kérdező kommentje:

Bocsánat, hogy ennyire szerncsétlen vagyok, de ez nekem nagyon nem megy. Van már két programom is, ami különböző és ki tudja számolni bármilyen számmal az adott feladatot. A gép szerint is jó az összes teszt, de azt írja ki hibának, ha megpróbálom beadni, hogy Floating point exception. Miért van ez?

A programom: [link]

2021. okt. 11. 20:41
 7/12 Pelenkásfiú ***** válasza:

A "c", "e", és "r" mind sima int típusok, pedig pont ebben tárolod a nagy számokat.

Egyedül a végeredményt tetted llu intbe, pedig az kisebb, mint a fenti értékek.

2021. okt. 11. 20:50
Hasznos számodra ez a válasz?
 8/12 A kérdező kommentje:
Szóval, ha azokat is llu intbe teszem, akkor elvileg már jó lesz? Csak mert már csak négyszer adhatom be a programot és utána kidob a rendszer.
2021. okt. 11. 20:52
 9/12 A kérdező kommentje:
Így se működik. Ha ezt a két számot adom meg, akkor nem kűködik a program. Ez a két szám 32153 32150.
2021. okt. 11. 21:04
 10/12 Pelenkásfiú ***** válasza:

omg. Az llu intbe is csak kb. 20 jegyű szám fér.

Tudod, mekkora a 32153 faktoriális értéke?

131 ezer jegyű szám lenne!!

2021. okt. 11. 21:13
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!