Holidays have finished. Thanks to the help of the hacker Leha, Noora managed to enter the university of her dreams which is located in a town Pavlopolis. It's well known that universities provide students with dormitory for the period of university studies. Consequently Noora had to leave Vičkopolis and move to Pavlopolis. Thus Leha was left completely alone in a quiet town Vičkopolis. He almost even fell into a depression from boredom!
Leha came up with a task for himself to relax a little. He chooses two integers Aand B and then calculates the greatest common divisor of integers "A factorial" and "B factorial". Formally the hacker wants to find out GCD(A!, B!). It's well known that the factorial of an integer x is a product of all positive integers less than or equal to x. Thus x! = 1·2·3·...·(x - 1)·x. For example 4! = 1·2·3·4 = 24. Recall that GCD(x, y) is the largest positive integer q that divides (without a remainder) both x and y.
Leha has learned how to solve this task very effective. You are able to cope with it not worse, aren't you?
The first and single line contains two integers A and B (1 ≤ A, B ≤ 109, min(A, B) ≤ 12).
Print a single integer denoting the greatest common divisor of integers A! and B!.
4 3
6
Consider the sample.
4! = 1·2·3·4 = 24. 3! = 1·2·3 = 6. The greatest common divisor of integers 24 and 6is exactly 6.
这题一开始傻傻地求出两个数的阶乘,然后用gcd,哎我现在做题都不带脑子了。
想一下便可知最大公约数必定是这两个阶乘数的其中一个,因为都是1*2*3...*n,前面总是一样的嘛。
#include<stdio.h>
long long jie(long long n)
{
long long s=1;
for(long long i=1;i<=n;i++)
s*=i;
return s;
}
int main()
{
long long n,m;
while(~scanf("%lld %lld",&n,&m))
{
long long s=0;
if(n>m)
{
s=jie(m);
}
else
s=jie(n);
printf("%lld\n",s);
}
return 0;
}