首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Calculation 二 欧拉函数的应用

2012-08-30 
Calculation 2 欧拉函数的应用/*题意是求和n不互质的数的总和。可用总和1-(n-1)减去互质的数的总和。课用欧

Calculation 2 欧拉函数的应用

/*题意是求和n不互质的数的总和。可用总和1-(n-1)减去互质的数的总和。课用欧拉函数求1-n的互质的数的个数num。则若a和n互质,n-a必定也和n互质(a<n)。也就是说num必定为偶数。其中互质的数成对存在。其和为n。则总和为num*n/2   */#include <stdio.h>int phi(long long n){    int rea=n;    for(int i=2;i*i<=n;i++)    if(n%i==0)    {        rea=rea-rea/i;        do        n/=i;        while(n%i==0);    }    if(n>1)    rea=rea-rea/n;    return rea;}int main(){    long long n;    while(scanf("%lld",&n)==1&&n)    {        long long sum=n*(n+1)/2-n;        sum-=phi(n)*n/2;        sum%=1000000007;        printf("%lld\n",sum);    }    return 0;}


热点排行