zoukankan      html  css  js  c++  java
  • 洛谷P2303 [SDOi2012]Longge的问题

    题目背景

    SDOi2012

    题目描述

    Longge的数学成绩非常好,并且他非常乐于挑战高难度的数学问题。现在问题来了:给定一个整数N,你需要求出∑gcd(i, N)(1<=i <=N)。

    输入输出格式

    输入格式:
    一个整数,为N。

    输出格式:
    一个整数,为所求的答案。

    输入输出样例

    输入样例#1:
    6
    输出样例#1:
    15
    说明

    对于60%的数据,0

    #include<stdio.h>  
    #include<math.h>  
    typedef long long ll;  
    ll euler(ll x)//欧拉函数  
    {  
        ll ans=x,tp=sqrt(x);  
        for(ll i=2;i<=tp;++i)  
            if(x%i==0)  
            {  
                ans=ans-ans/i;  
                while(x%i==0)  x/=i;   
            }  
        if(x>1)  ans=ans-ans/x;  
        return ans;  
    }  
    int main()  
    {  
        ll n;
        scanf("%lld",&n);
        ll ans=0,tp=sqrt(n);  
        for(ll i=1;i<=tp;++i)  
          if(n%i==0)  ans+=i*euler(n/i)+n/i*euler(i);   
        if(tp*tp==n) ans-=tp*euler(tp);  
            printf("%lld
    ",ans);
        return 0;  
    }
  • 相关阅读:
    转载:通过Servlet生成验证码
    转载:web工程中URL地址的推荐写法
    使用Git上传本地项目代码到github
    $watch 和 $apply
    平时用的sublime插件
    zTree.js
    js
    npm install详解
    git
    git基础
  • 原文地址:https://www.cnblogs.com/yanshannan/p/7341796.html
Copyright © 2011-2022 走看看