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;
    }
  • 相关阅读:
    c++ 从vector扩容看noexcept应用场景
    c++11-17 模板核心知识(十一)—— 编写泛型库需要的基本技术
    动态链接的PLT与GOT
    c++11-17 模板核心知识(十)—— 区分万能引用(universal references)和右值引用
    Golang性能分析与优化
    c++11-17 模板核心知识(九)—— 理解decltype与decltype(auto)
    [LuoguP4808][CCC 2018]平衡树(数论分块+记忆化搜索)(有复杂度证明)
    [NOI2016]区间(线段树+尺取法)
    [BZOJ4316]小C的独立集(仙人掌+树形DP)
    [CTSC2002]灭鼠行动(模拟)
  • 原文地址:https://www.cnblogs.com/zxhl/p/7133914.html
Copyright © 2011-2022 走看看