zoukankan      html  css  js  c++  java
  • hdu 1286

    ***这道题其实就是一个欧拉函数***

    分解质因子部分

    for(i=2; i<=n; i++)
    {
        while(n%i==0)
        {
            n/=i;
            printf("%d%c", i, n==1 ? '
    ' : ' ');
        }
    }

    快速求素因子,这个代码比上一个稍微快一点

    for(i=2; i*i<=n; i++)
    {
        while(n%i==0)
        {
            n/=i;
            printf("%d ", i);
        }
    }
    if(n>1)
            printf("%d", n);
    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<cstdlib>
    #include<cmath>
    #include<cctype>
    #include<queue>
    #include<vector>
    #include<algorithm>
    
    using namespace std;
    typedef long long LL;
    #define N 100010
    #define INF 0x3f3f3f
    
    
    int main()
    {
        int T, n, f, ans;
        scanf("%d", &T);
    
        while(T--)
        {
            scanf("%d", &n);
            ans=n;
            for(int i=2; i*i<=n; i++)
            {
                f=-1;
                while(n%i==0)
                {
                    f=i;
                    n/=i;
                }
                if(f!=-1)
                ans=ans*(i-1)/i;
            }
            if(n>1)
                ans=ans*(n-1)/n;
            printf("%d
    ", ans);
        }
        return 0;
    }
  • 相关阅读:
    UVA
    UVA
    母函数
    快速排序
    集合:set
    stringstream转换
    大学期间的任务
    Devc++贪吃蛇
    Vector容器
    广度优先遍历
  • 原文地址:https://www.cnblogs.com/9968jie/p/5731669.html
Copyright © 2011-2022 走看看