zoukankan      html  css  js  c++  java
  • arc110a

    arc110a

    大意

    给定 (N)

    求一个 (xin [N,10^{13}]) ,满足任意正整数 (yin [2,N]) ,$ymid (x-1) $

    思路

    最基本的思路, ((x-1) = N!) ,这是显然满足 (y|(x-1)) 的,但是 (30!approx 10^{32}) 远超 (10^{13}) ,需要想办法减小。

    考虑分解质因数,根据唯一分解定理 (x-1) 一定能分解为 (N) 以内的质数的有限次方的乘积。

    然后不难发现,若对于质数 (p)(p^c leq N)(p^{c+1} > N) ,那么 (p^cmid x) 且不存在 (rin[2,N]) ,使 (p^{c+1}mid r)

    所以我们只需要将 (N) 以内的质数的不大于 (N) 的次方乘起来即可。

    代码

    #include <iostream>
    #include <cstdio>
    #include <algorithm>
    #include <cmath>
    #include <cstring>
    using namespace std;
    
    #define ll long long
    #define ull unsigned long long
    #define cint const int&
    #define Pi acos(-1)
    
    const int mod = 998244353;
    const int inf_int = 0x7fffffff;
    const ll inf_ll = 0x7fffffffffffffff;
    const double ept = 1e-9;
    
    ull ans=1;
    ull n;
    
    int main() {
        cin >> n;
        for(int i=2; i<=n; i++) 
            if(ans % i){
                ull t = i;
                while(t*i<=n) t*=i;
                ans *= t;
            }
        cout << ans+1;
        return 0;
    }
    

    -4,15min

  • 相关阅读:
    odoo10 入门
    git 命令详细介绍
    odoo中Python实现小写金额转换为大写金额
    {DARK CTF } OSINT/Eye
    2020 12 18
    2020 12 17
    2020 12 16
    2020 12 15
    2020 11 14
    2020 11 13
  • 原文地址:https://www.cnblogs.com/ullio/p/14117270.html
Copyright © 2011-2022 走看看