Új hozzászólás Aktív témák
-
Alg
veterán
Sziasztok!
Faktoriális kiszámításához kellene kis segítség, nem tudom hogy kezdhetnék hozzá.
A lehető legegyszerűbb eszközökkel, bármekkora szám faktoriálisát szeretném kiszámolni. Futásidő nem lényeg.
A rekurzív algoritmust már megírtam.
A lényegre magam szeretnék rájönni, csak egy ötlet kellene, hogy hogyan lehet kiküszöbölni a változótípusok méretkorlátait...
A.
"I love not man the less, but Nature more" // Giant TCR Adv. '16 Di2 // Fenix 7 SS // FiiO BTR3 + Truthear ZERO
-
Alg
veterán
Közben nekem is eszembe jutott, az is ilyesmi: sztingként kérem be a számot, így számjegyenként tárolom. arra már meg tudom írni az "írásban szorzás" algoritmust.
"I love not man the less, but Nature more" // Giant TCR Adv. '16 Di2 // Fenix 7 SS // FiiO BTR3 + Truthear ZERO
-
Alg
veterán
Hali!
Nagyon kezdő kérdés lesz, bocs...
Szóval: azt szeretném megoldani, hogy bakérek egy (bármilyen hosszú) számot, és azt tömbben tárolom el, számjegyenként... szóval van valami módja a char=>int konverziónak?
"I love not man the less, but Nature more" // Giant TCR Adv. '16 Di2 // Fenix 7 SS // FiiO BTR3 + Truthear ZERO
-
Alg
veterán
Igazából (mint ahogy korábban is írtam már) a feladat egy bármilyen nagy szám faktoriálisának kiszámítása... ehhez kellene, hogy a program bekér egy számot, eltárolja számjegyenként egy tömbben, amire meg tudom írni a szorzás műveletet, és a faktoriálisos ciklust...
Mod:Ja, és lehetőleg OO nélkül, STL nélkül...
Eddig csak <iostream>-es programokat írtunk, és nem is volt szó másról
[ Szerkesztve ]
"I love not man the less, but Nature more" // Giant TCR Adv. '16 Di2 // Fenix 7 SS // FiiO BTR3 + Truthear ZERO
-
Alg
veterán
válasz Benmartin #278 üzenetére
Nagy számokra is működnie kell, így gondoltam szám=>tömbbbe számjegyenként, majd megírnám a szorzást a tömbökre, és ezzel a szorzással már mehet a rekurzív algoritmus...
Igazából minél egyszerűbb eszközökkel, annál jobb, össz 1 félévnyi, heti 1 óra C++-unk van, szóval semmi komoly...
"I love not man the less, but Nature more" // Giant TCR Adv. '16 Di2 // Fenix 7 SS // FiiO BTR3 + Truthear ZERO
-
Alg
veterán
válasz Benmartin #280 üzenetére
a feladat alapján csak a memória mérete vagy a futásidő szabhat határt...
char a[40];
cin>>a;
int b[40];
stringstream(a[0])>>b[0];Ez így eddig csak az a[0] memóriacímét adja vissza b[0]-ban, valami hasonló kellene...
"I love not man the less, but Nature more" // Giant TCR Adv. '16 Di2 // Fenix 7 SS // FiiO BTR3 + Truthear ZERO
-
Alg
veterán
válasz Benmartin #282 üzenetére
márpedig gy adta meg
tehát a futásidő mindegy, csak működjön...Ez is memóriacímet ad vissza:
string c;
int a[20];
getline (cin,c);
stringstream(c[1])>>a[0];viszont ha c-nek beadom mondjuk h. 123 és kiíratom c[1]-et arra a megfelelő "2" eredményt dobja ki...
"I love not man the less, but Nature more" // Giant TCR Adv. '16 Di2 // Fenix 7 SS // FiiO BTR3 + Truthear ZERO
-
Alg
veterán
válasz Benmartin #284 üzenetére
nem jó, az int maximális értéke kevés...
akkor visszatértünk az alapkérdéshez: hogyan szedjek szét egy számokból álló karaktersort számjegyeket tartalmazó tömbé?
"I love not man the less, but Nature more" // Giant TCR Adv. '16 Di2 // Fenix 7 SS // FiiO BTR3 + Truthear ZERO
-
Alg
veterán
válasz Benmartin #286 üzenetére
#278-ból a 2-est próbálgatom, a vektor helyett nem lehetne tömböt használni?
string c,atmeneti;
int b[5];
cin>>c;
atmeneti=c[1];
stringstream(atmeneti)>>b[0];ez így most jónak tűnik...
[ Szerkesztve ]
"I love not man the less, but Nature more" // Giant TCR Adv. '16 Di2 // Fenix 7 SS // FiiO BTR3 + Truthear ZERO
-
Alg
veterán
nah ez így azt hiszem menni fog, köszönöm, már csaka tömbből kellene a számítások végén valahogy megint sztringet csinálni, hogy kiírathassam az eredényt...
Mod: sztorno, ezt meg megtaláltam a cplusplus.com-on
[ Szerkesztve ]
"I love not man the less, but Nature more" // Giant TCR Adv. '16 Di2 // Fenix 7 SS // FiiO BTR3 + Truthear ZERO
-
Alg
veterán
Nem értem, mit nem értesz...
Az első lépéshez kértem segítséget (input tárolása és átalakítása úgy, hogy azzal már tudjak számolni) mivel azóta nem tudtam megoldani a dolgot, pedig nem keveset agyaltam rajta/keresgéltam utána.Ezután a kódot már meg tudom írni magamtól, mivel #278 alapján már megoldottam ami eddig nem ment...
Benmartin:THX a segítséget!
[ Szerkesztve ]
"I love not man the less, but Nature more" // Giant TCR Adv. '16 Di2 // Fenix 7 SS // FiiO BTR3 + Truthear ZERO
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!