Autor | Zpráva | ||
---|---|---|---|
Networker Profil |
Ahoj,
měl bych na Vás prosbu ohledně kódu psaném v DEV CPP (DEV C++) Potřebuji ve výsledku udělat výpis hodnot ze vzorečku: 20(summ)k=0 for 0.1(pow k) / k! Pro faktoriál mám toto: #include <stdio.h> #include <stdlib.h> #include <math.h> int main(){ float k, fakt; printf("Number k: "); scanf("%f", &k); fakt = 1; while (k >= 1 ){ fakt = fakt * k; k = k - 1; } printf("Faktorial: %f \n", fakt); system("pause"); return(0); } Pro a na "kátou" #include <stdio.h> #include <stdlib.h> #include <math.h> int main(){ float a, k, i, end; printf("Number k: "); scanf("%f", &k); a = 0.1; while (k >= 1 ){ end = 1*pow(a, k); printf("Number %.0f: %f \n", k, end); k = k - 1; } system("pause"); return(0); } Akorát mám následující problémy: 1. při faktoriálu třeba těch 20 mi to zobrazí špatné číslo... 2. Za desetinnou čárkou se mi zobrazuje jen pár míst (potřeboval bych hodnot spoustu) No a teď to dát nějak dohromady a udělat sumu :-) V JS se mi to nepovedlo, tak to zkouším v C++ ... |
||
candiess Profil |
#2 · Zasláno: 29. 9. 2014, 21:14:24
Networker:
„V JS se mi to nepovedlo, tak to zkouším v C++ ...“ Mohl by jsi zde postnout to "nepovedené" dílo? Rád bych se na to mrkl |
||
Joker Profil |
Networker:
„V JS se mi to nepovedlo, tak to zkouším v C++ ...“ Původní vlákno: Výpočet sumy v JS Hm: „Nechápu algoritmus - zkusím jiný programovací jazyk“. Překvapivě ten přístup moc nefunguje. Co se týká kódu, nechápu, proč k a fakt jsou typu float , když faktoriál se počítá jen z celých čísel a výsledkem je taky celé číslo.
Navíc použití méně přesného float povede leda k tomu, že v nějaké chvíli vznikne zaokrouhlovací chyba a dalším násobením se ještě rozroste. Což je tipuji důvod problému 1. „2. Za desetinnou čárkou se mi zobrazuje jen pár míst (potřeboval bych hodnot spoustu)“ C++ float je přesný zhruba na 7 desetinných míst, double na 15, výpočty v plovoucí čárce v JS a PHP asi na 12-13 platných cifer. |
||
Jan Tvrdík Profil |
#4 · Zasláno: 30. 9. 2014, 00:59:43
Joker:
„double na 15, výpočty v plovoucí čárce v JS a PHP asi na 12-13 platných cifer.“ To je trochu divný ne? Vždyť PHP i JS používají naprosto stejný double jako C++. Nebo se mýlím? |
||
Časová prodleva: 10 let
|
0