[shkola] Towa e source-a na programata za faktoriala
- From: Ivaylo Riskov <ivaylo_riskov@xxxxxxx>
- To: shkola@xxxxxxxxxxxxx
- Date: Fri, 21 Mar 2003 22:43:41 +0200
Ponezhe Ludo mi iskashe source na zadachata za faktoriala, wi go
prashtam i na was. Kojto uspee da razgadae algoritxma - dobre, inache
shte wi go obqsnq sledwashtiqt pxt na shkolata.
Ludo, ako wersiqta, koqto imash na onazi zadacha ot kontrolnoto e
podhodqshta za e-mail - prati q(za uslowieto stawa wxpros).
--
Ivaylo Riskov <ivaylo_riskov@xxxxxxx>
"If it happens, it must be possible."
#include <stdio.h>
int get_power(int n, int x) {
int s = 0;
int y;
y = x;
while (n >= y) {
s += n/y;
y *= x;
}
return s;
}
int calc(int r) {
int c;
int r1;
r1 = r/10;
if (r1%2)
c = 9;
else
c = 1;
r1 = r - r1*10;
if (r1 >= 3) c *= 3;
if (r1 >= 7) c *= 7;
if (r1 >= 9) c *= 9;
return c%10;
}
int solve(int n) {
int p2, p5;
int a, b;
int last;
p2 = get_power(n, 2);
p5 = get_power(n, 5);
if (p5 > p2)
return 5;
last = 1;
for (b = 1; b < n; b *= 5)
for (a = 1; a*b < n; a <<= 1) {
last *= calc(n/(a*b));
last %= 10;
}
if (p2 > p5) {
p2 -= p5;
switch (p2%4) {
case 0: last *= 6; break;
case 1: last *= 2; break;
case 2: last *= 4; break;
case 3: last *= 8; break;
}
last %= 10;
}
return last;
}
int main() {
int n, m;
while (scanf("%i", &n) == 1)
printf("%i\n", solve(n));
return 0;
}
- Follow-Ups:
- [shkola] Re: Towa e source-a na programata za faktoriala
- From: Lyudmil Antonov
- [shkola] Re: Towa e source-a na programata za faktoriala
- From: Lyudmil Antonov
- [shkola] task = ++food
- From: Lyudmil Antonov
Other related posts:
- » [shkola] Towa e source-a na programata za faktoriala
- » [shkola] Re: Towa e source-a na programata za faktoriala
- » [shkola] Re: Towa e source-a na programata za faktoriala
- » [shkola] Re: Towa e source-a na programata za faktoriala
- » [shkola] Re: Towa e source-a na programata za faktoriala
- » [shkola] Re: Towa e source-a na programata za faktoriala
- » [shkola] Re: Towa e source-a na programata za faktoriala
- » [shkola] Re: Towa e source-a na programata za faktoriala
- » [shkola] Re: Towa e source-a na programata za faktoriala
- » [shkola] Re: Towa e source-a na programata za faktoriala
- » [shkola] Re: Towa e source-a na programata za faktoriala
- [shkola] Re: Towa e source-a na programata za faktoriala
- From: Lyudmil Antonov
- [shkola] Re: Towa e source-a na programata za faktoriala
- From: Lyudmil Antonov
- [shkola] task = ++food
- From: Lyudmil Antonov