Voinko jotenkin määrittää builderissani, että jos haluan laskea 1/0, että se olisi 1?. Ohjelmani kusee, siksi kun 1/0 ei voi laskea.
miksei ihan vaan oma tarkistus:
if (jakaja==0) result = 1; else result = jaettava / jakaja;
kuinkas sen tässä laittais kun on for-lause?
int luku=1; for (int i=0; i<5; i++) { luku = luku*i; kertoma+=(1/luku); }
Sinne for-lauseen sisään vain, luku *= i:n ja tuon kertoman ynnäämisen väliin.
En ymmärrä miksei koodia voi tehdä seuraavasti:
int luku=1; kertoma+=1; for (int i=1; i<5; i++) { luku = luku*i; kertoma+=(1/luku) }
Uskallan väittää, että olisi huomattavasti nopeampi kuin sisäinen ehtolause.
Olen tekemässä ohjelmaa joka laskee neperin luvun (e=2.718)
ja se tulee kaavalla
∞
∑(1/k!)
k=0
Eli jos olen oikein ymmärtänyt niin tuosta tulee:
1/0 + 1/1 + 1/1*2 + 1/1*2*3+ 1/1*2*3*4....
eli 1 + 1 + 0.5 + 0,166 + 0,0416 = 2,7.....
nyt tuo nollalla jako tuottaa vieläkin ongelmia enkä haluaisi korjata sitä sillä, että lisään valmiiksi arvon 1
Ala laskemaan ykkösestä alkaen ja lisää tulokseen 1. Helppoa.
Eihän matematiikassa ole määritelty nollalla jakoa. Mistä siis revit sen ensimmäisen 1/0:n, kun 0!=1 ?
Voihan tuon Neperin luvun likiarvon laskea ihan:
Neper = (1 + 1 / n) ^ n
Jossa ^ on potenssi ja n mahdollisimman suuri luku. Mitä suurempi, sen tarkempi arvo.
Edit: Ja ei tuota kertomaa ole edes määritelty nollalle, ykkösestä se alkaa. Ja 1/0 olisi tietysti ääretön, jos se nyt jotenkin pitää määritellä.
hunajavohveli kirjoitti:
Edit: Ja ei tuota kertomaa ole edes määritelty nollalle, ykkösestä se alkaa. Ja 1/0 olisi tietysti ääretön, jos se nyt jotenkin pitää määritellä.
Kröhöm, kertoma on määritelty nollalle. faktatietoa
Ja nollalla jakamista ei voi määritellä mitenkään, koska se ei ole "tietysti" mitään - juuri siksi sitä ei määritellä: riippuen tilanteesta sen arvon "pitäisi" olla käytännössä mitä vain.
Kertoman suhteen olin näemmä väärässä. Muistelin, että laskin olisi herjannut jotain, kun kerran kokeilen nollalla, mutta eipä se sitten kai herjannutkaan. Ja voihan tuon nollalla jakamisen ihan loogisesti ajatellen määritellä, mutta ei siitä mitään reaalilukua tule.
Aihe on jo aika vanha, joten et voi enää vastata siihen.