标签:
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 3305 Accepted Submission(s): 1367
#include <cstdio> #define MOD 1000000007 typedef long long LL; LL euler(LL n) { LL i; LL eu= n; for(int i=2; i*i <= n; i++) { if(n%i ==0) { eu= eu*(i-1) /i; while(n %i==0) n/= i; } } if(n >1) eu= eu* (n-1) /n; return eu; } int main() { LL n; while(scanf("%lld", &n), n) { LL ans= n&1? (n+1)/2*n : n/2*(n+1); ans= ans- euler(n) *n/2; printf("%lld\n", (ans-n)%MOD); } return 0; }
hdoj 3501 -Calculation 2 (欧拉函数)
标签:
原文地址:http://www.cnblogs.com/fengshun/p/5399683.html