← Back to topics
Topic

proizvod

k
ksemeks
Pozdrav ^^
jezik je cpp.

.da se rjeshim zadnjih nula vrtim ga u loopu i djelim ga sa modulom(%), ako je rez 0,onda djelim broj sa 10(/) pa onda opet s modulom, i tako dok ne dobim rez od modula neki broj != 0.
e sada, zanima me kako da ih svih pomnozim, dali sa for petljom, ili ? jer pokusao sam sa for petljom, i izbacuje mi da mu treba previshe vremena da se izvrshi.
bilo kakva pomoc je dobrodosla.hvala :)
k
ksemeks
ok, nasao sam gdje zapinje:
kad je
cin >> n
i kad u n se metne value veca od 31, pocinje da zaebava. how come?
s
sanja
bez obzira sto skidas nule, prebacujes najvecu vrednost za integer/longint/kako god :) Na forumu je do sada sigurno niklo 70 tema za ovaj zadatak, pretraga ce biti od pomoci :)
k
ksemeks
neznam ako bi mi neo mogao kod ispregledat, jer ja stvarno neznam koj je problem, tj. znam da mi variable idu u outofrange, ali neznam kako da to rjeshim, a ako metnem double, daje mi decimale.


#include <iostream>
int main() {
long p, i, r, n;
std::cin >> n;
if ( n >= 1 &amp;&amp; n <= 10000) {
p = 1;
r = 1;
for ( i = 1; i <= n; i++ ) {
p = p * i;
}
r = p % 10;
while ( r == 0 ) {
p = p / 10;
r = p % 10;
}
std::cout << r;
}
}

s
sanja
kazem ti, procitaj ostale teme, dobices ideju, ova nije dobra.