zoukankan      html  css  js  c++  java
  • codevs 4939 欧拉函数

    传送门

    4939 欧拉函数

     时间限制: 1 s
     空间限制: 1000 KB
     题目等级 : 钻石 Diamon
     
     
    题目描述 Description

    输入一个数n,输出小于n且与n互素的整数个数

    输入描述 Input Description

    包含多组数据,n=0时结束

    测试数据组数不会很多,不必先打表后输出

    输出描述 Output Description

    一组数据一行

    样例输入 Sample Input

    364684

    346

    5432

    11

    24

    0

    2333333

    233333333

    0

    233333333333333

    2333333333333333333333333333333333333333333333333

    样例输出 Sample Output

    165120

    172

    2304

    10

    8

    数据范围及提示 Data Size & Hint

    1<n<9223372036854775807

    【code】

    搬来了几个模板

    #include<cstdio>
    using namespace std;
    long long n,ans;
    int main()
    {
        while(1)
        {
            scanf("%lld",&n);
            if(!n) break;
            ans=n;
            for(long long i=2;i*i<=n;i++)
             if(n%i==0)
             {
                 while(n%i==0) n/=i;
                 ans=ans/i*(i-1);
             }
            if(n>1) ans=ans/n*(n-1);
            printf("%lld
    ",ans);
        }
    }
    #include<cstdio>
    using namespace std;
    int main()
    {
        long long n,ans;
        while(1)
        {
            scanf("%lld",&n);
            if(!n) return 0;
            ans=n;
            if(n%2==0)
            {
                while(n%2==0) n/=2;
                ans=ans/2;
            }
            for(long long i=3;i*i<=n;i+=2)
               if(n%i==0)
                {
                    while(n%i==0) n/=i;
                    ans=ans/i*(i-1);
                }
            if(n>1) ans=ans/n*(n-1);
            printf("%lld
    ",ans);
        }
    }
  • 相关阅读:
    机器学习面试问题7
    机器学习面试问题6
    机器学习面试问题5
    机器学习面试问题4
    机器学习面试问题3
    机器学习面试问题2
    机器学习面试问题1
    推荐算法
    机器学习面试问题8
    决策树与随机森林算法
  • 原文地址:https://www.cnblogs.com/zzyh/p/6964436.html
Copyright © 2011-2022 走看看