Witam, robię zadania ze SPOJ'a i mam problem, przy konwersji typów z doubla na inta. Zadanie polega na wyświetleniu części dziesiętnej i części jedności z silnii podanej liczby.
Dla liczby 5 - silnia 120, części dziesiątych to 1 nie wiem właśnie dlaczego.
według mnie powinno tam być:
(120/100 - (int)(120/100) ) * 10 = (1.2 - 1) *10 = 2
int ile;
double po, pj, pd;
double silnia = 1;
long n;
cin >> ile;
for (int i = 0; i < ile; i++) {
cin >> n;
for (int j = 1; j < n+1; j++) {
silnia = silnia*j; //silnia
}
pj =(((silnia / 10) - (int)(silnia / 10)) * 10);
pd =(((silnia / 100) - (int)(silnia / 100)) * 10);
cout << (int)(pd);
silnia = 1;
}
return 0;
}
Pozdrawiam.