[poj 2480] Longge's problem 解题报告 (欧拉函数)
Posted xxzh
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[poj 2480] Longge's problem 解题报告 (欧拉函数)相关的知识,希望对你有一定的参考价值。
题目链接:http://poj.org/problem?id=2480
题目大意:
题解:
我一直很欣赏数学题完美的复杂度
#include<cstring> #include<algorithm> #include<cstdio> #include<iostream> #include<cmath> using namespace std; typedef long long ll; const int N=(1<<31)+15; ll n; int main() { //printf("%lld ",phi(3)); while (scanf("%lld",&n)!=EOF) { ll ans=n; for (ll i=2;i*i<=n;i++) { if (n%i) continue; //if (i==1) ans++; ll j=0; while (n%i==0) n/=i,j++; ans/=i; ans*=(i-1)*j+i; } if (n>1) { ans/=n; ans*=2*n-1; } printf("%lld ",ans); } return 0; }
以上是关于[poj 2480] Longge's problem 解题报告 (欧拉函数)的主要内容,如果未能解决你的问题,请参考以下文章
题解报告:poj 2480 Longge's problem(欧拉函数)
[poj 2480] Longge's problem 解题报告 (欧拉函数)