zoukankan      html  css  js  c++  java
  • LightOJ1370 Bi-shoe and Phi-shoe(欧拉函数+打表)

    题意:

    Φ (n)表示长度为小于数字n的和n互质的数的个数,也就是欧拉函数。现在给出n个幸运数字,对于每一个幸运数字,要求的x,使Φ (n)的值大于等于这个幸运数字,求这些x和的最小值。

    题解:

    打表后暴力

    #include<bits/stdc++.h>
    using namespace std;
    const int maxn=1e6+100;
    int E[maxn];//存每个数的欧拉函数
    int ispr[maxn];//存素数
    int a[maxn],n;
    void eular () {
        for (int i=1;i<maxn;i++) E[i]=i;
        memset(ispr,1,sizeof(ispr));
        ispr[0]=ispr[1]=0;
        E[1]=0;
        for (int i=2;i<maxn;i++) if (ispr[i]) for (int j=i;j<maxn;j+=i) ispr[j]=0,E[j]-=E[j]/i;
    }  
    int main () {
        eular();
        int T;
        scanf("%d",&T);
        for (int k=1;k<=T;k++) {
            memset(a,0,sizeof(a));
            long long ans=0;
            scanf("%d",&n);
            for (int i=1;i<=n;i++) scanf("%d",a+i);
            sort(a+1,a+n+1);
            int p=1;
            for (int i=1;i<=n;i++) for (int j=p;j<maxn;j++) if (E[j]>=a[i]) {
                ans+=j;p=j;break;
            }
            printf("Case %d: %lld Xukha
    ",k,ans);
        } 
    }
  • 相关阅读:
    golang中将json转成go
    软件升级
    golang 各类型转换
    golang 基础知识6
    golang 基础知识5
    bash resource
    toy
    links
    android abd remove
    YCM
  • 原文地址:https://www.cnblogs.com/zhanglichen/p/13768526.html
Copyright © 2011-2022 走看看