Treść zadania:
Niech n będzie nieujemną liczbą całkowitą. Liczbę n! (czytaj n-silnia)
definiuje się następująco. Jeśli n ≤ 1, to n! = 1. Dla n > 1, n! jest
równe iloczynowi wszystkich liczb od 1 do n, czyli n! = 1 * 2 * ... * n.
Na przykład 4! = 1*2*3*4 = 24.
Zadanie
Napisz program, który:
• wczyta ze standardowego wejścia nieujemną liczbę całkowitą n,
• policzy cyfrę dziesiatek oraz cyfrę jedności w zapisie dziesiętnym liczby n!,
• wypisze wynik na standardowe wyjście.
Wejście
W pierwszej linii wejścia znajduje się jedna liczba całkowia D (1≤D≤30),
oznaczjąca liczbę przypadków do rozważenia. Opis każdego przypadku składa
się z jednej linii, w której znajduje się jedna nieujemna liczba
całkowita n (0 ≤ n ≤ 1 000 000 000).
Wyjście
Dla każdego przypadku z wejścia. Twój program powinien wypisać w osobnej
linii dokładnie dwie cyfry (oddzielone pojedynczą spacją): cyfrę dziesiątek
i cyfrę jedności liczby n! zapisanej w systemie dziesiętnym.
Przykład
Dla danych wejściowych:
2
1
4
poprawną odpowiedzią jest:
0 1
2 4
Kod źródłowy w C:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i=0,j=0;
unsigned long long int a=0;
scanf("%d",&i);
for(j;j<i;++j)
{
scanf("%d",&a);
switch(a)
{
case 0:
case 1:
printf("%d %d\n",0,1);
break;
case 2:
printf("%d %d\n",0,2);
break;
case 3:
printf("%d %d\n",0,6);
break;
case 4:
printf("%d %d\n",2,4);
break;
case 7:
printf("%d %d\n",4,0);
break;
case 5:
case 6:
case 8:
printf("%d %d\n",2,0);
break;
case 9:
printf("%d %d\n",8,0);
break;
default:
printf("%d %d\n",0,0);
break;
}
}
return 0;
}
Kod źródłowy w C++:
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int i=0,j=0;
unsigned long long int a=0;
cin>>i;
for(j;j<i;++j)
{
cin>>a;
switch(a)
{
case 0:
case 1:
cout<<"0 1"<<endl;
break;
case 2:
cout<<"0 2"<<endl;
break;
case 3:
cout<<"0 6"<<endl;
break;
case 4:
cout<<"2 4"<<endl;
break;
case 5:
case 6:
case 8:
cout<<"2 0"<<endl;
break;
case 7:
cout<<"4 0"<<endl;
break;
case 9:
cout<<"8 0"<<endl;
break;
default:
cout<<"0 0"<<endl;
break;
}
}
return 0;
}
Kod źródłowy w Python 2:
input = int(raw_input(''))
for i in range(0, input, +1):
number = int(raw_input(''))
if number == 1:
print '0 1'
elif number == 0:
print '0 1'
elif number == 2:
print '0 2'
elif number == 3:
print '0 6'
elif number == 4:
print '2 4'
elif number == 5:
print '2 0'
elif number == 6:
print '2 0'
elif number == 7:
print '4 0'
elif number == 8:
print '2 0'
elif number == 9:
print '8 0'
else:
print '0 0'
Kod źródłowy w Python 3:
standard_input = int(input(''))
for i in range(0, standard_input, +1):
number = int(input(''))
if number == 1:
print ('0 1')
elif number == 0:
print ('0 1')
elif number == 2:
print ('0 2')
elif number == 3:
print ('0 6')
elif number == 4:
print ('2 4')
elif number == 5:
print ('2 0')
elif number == 6:
print ('2 0')
elif number == 7:
print ('4 0')
elif number == 8:
print ('2 0')
elif number == 9:
print ('8 0')
else:
print ('0 0')
Źródło:
http://pl.spoj.com/problems/FCTRL3/