小于n的数中与n互质的数的和

转载 2013年12月05日 22:30:40

转:http://blog.csdn.net/zhangwei1120112119/article/details/8568364

题意:

给一个n,求

少于或等于n的数中与n不互质的数的和

我们先求

少于或等于n的数中与n互质的数的和

对于i与n互素

gcd(n,i)=1

必有gcd(n,n-i)=1

设n的欧拉函数值为f[n]

则有f[n]个数与n互素,这些数两两相加必等于n

于是有答案为f[n]*n/2


#include<stdio.h>
#include<string.h>
#define ll long long
#define mod 1000000007

ll eular(ll n){  
    ll ret=1,i;  
    for (i=2;i*i<=n;i++)  
        if (n%i==0){  
            n/=i,ret*=i-1;  
            while (n%i==0)  
                n/=i,ret*=i;  
        }  
    if (n>1)  
        ret*=n-1;  
    return ret;  
} 

int main()
{
	ll n;
	while(scanf("%lld",&n),n)
	{
		ll t1=(n-1)*n/2;
		ll t2=eular(n)*n/2;
		ll sum=((t1-t2)+mod)%mod;
		printf("%lld\n",sum);
	}
}


相关文章推荐

杭电2841 容斥定理求1到n之间和x互质的数的总数

第一次写容斥定理,完全不懂啊,,,弱爆了。。。。。话说这道题最后就是判断横坐标和纵坐标两个值是否互质,如果互质则可以看到,否则看不到。题目: Visible Trees Time Limi...
  • wmn_wmn
  • wmn_wmn
  • 2012年02月25日 11:18
  • 1283

hdu 3501 数论 与n不互质的数的和

Calculation 2 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

HDU 4135:Co-prime 容斥原理求(1,m)中与n互质的数的个数

Co-prime Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total...

【容斥原理-求区间内与n互质的数】HDOJ Co-prime 4135

Co-prime Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total S...
  • ydd97
  • ydd97
  • 2015年09月24日 16:20
  • 1772

求1~n与x互质的数的个数(6个题、容斥原理)

HDU 4135、POJ 2773、HDU 1695、HDU 2841、ZOJ 2836、HDU 1796 HDU 4135 Co-prime 题意: 求[l,r][l,r]与xx互质的数的个数 ...
  • lwt36
  • lwt36
  • 2015年10月24日 22:14
  • 645

【2015广东工业大学新生赛D】【数论-欧拉函数】求互质对数 1~n中互质数对数

#include #include #include #include #include #include #include #include #include #include #include #...

HDU 4135 统计[a,b]这个区间中和n互质的数的个数 (容斥+数组队列) 好题

解题思路: 很明显的容斥问题,那么假如1-12,n=30; n里面的约数2,3,5,那么进行排列组合,2,3,5,-2*3,-2*5,-3*5,2*3*5 ,,,怎么表示,有两种方法,一种是状...

【欧拉函数】(小于或等于n的数中与n互质的数的数目)

【欧拉函数】 在数论,对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目。此函数以其首名研究者欧拉命名,它又称为Euler's totient function、φ函数、欧拉商数等。...

(hdu step 2.1.6)找新朋友(欧拉函数的简单使用:求与n互质的元素的个数)

题目:       找新朋友Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total ...

HDU 4135-Co-prime(容斥求区间内与N互质的个数(队列||位运算))

题目地址:HDU 4135 题意:求[A,B]区间内与N互质的数的个数。 思路:我们可以用容斥计算出[1,B]之间和[1,A-1]之间的与N互质的数,然后相减即可。然后我们用一种快速的方法求出[1...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:小于n的数中与n互质的数的和
举报原因:
原因补充:

(最多只允许输入30个字)