码迷,mamicode.com
首页 > 其他好文 > 详细

Codeforces Round #422 (Div. 2) A. I'm bored with life 暴力

时间:2017-07-07 21:29:34      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:learn   equal   put   return   min   logs   ack   ant   complete   

A. I‘m bored with life
 
 

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 A and 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?

Input

The first and single line contains two integers A and B (1 ≤ A, B ≤ 109, min(A, B) ≤ 12).

Output

Print a single integer denoting the greatest common divisor of integers A! and B!.

Example
input
4 3
output
6
Note

Consider the sample.

4! = 1·2·3·4 = 24. 3! = 1·2·3 = 6. The greatest common divisor of integers 24 and 6 is exactly 6.

 

题意:

  给你A,B,求出其阶乘的GCD

题解:

  min(A,B)<=12

  暴力吧

 

 

#include<bits/stdc++.h>
using namespace std;
#pragma comment(linker, "/STACK:102400000,102400000")
#define ls i<<1
#define rs ls | 1
#define mid ((ll+rr)>>1)
#define pii pair<int,int>
#define MP make_pair
typedef long long LL;
const long long INF = 1e18+1LL;
const double pi = acos(-1.0);
const int N = 533333+10, M = 1e3+20,inf = 2e9;


int a,b;
int main() {
    scanf("%d%d",&a,&b);
    LL ans = 1;
    for(int i = 1; i <= min(a,b); ++i) {
        ans *= 1LL*i;
    }
    cout<<ans<<endl;
    return 0;
}

 

Codeforces Round #422 (Div. 2) A. I'm bored with life 暴力

标签:learn   equal   put   return   min   logs   ack   ant   complete   

原文地址:http://www.cnblogs.com/zxhl/p/7133914.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!