zoukankan      html  css  js  c++  java
  • Codeforces Round #422 (Div. 2) A. I'm bored with life 暴力

    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;
    }
  • 相关阅读:
    vxlan简介1
    什么underlay网络?
    CDN:内容分发网络
    zz博通发布用于数据中心交换机的开源软件开发套件SDKLT
    DPDK盒子使用手册——DPDK入门zz
    2018年最值得关注的15大技术趋势zz
    为什么要使用叶脊(leaf-spine)拓扑网络zz
    openvswitch
    Linux基础训练题型(下)
    Linux基础命令训练题型(上)
  • 原文地址:https://www.cnblogs.com/zxhl/p/7133914.html
Copyright © 2011-2022 走看看