一个简单的公式——求小于N且与N互质的数的和

首先看一个简单的东西。

若gcd(i,n)=1,则有gcd(n-i,n)=1。

于是在小于N且与N互质的数中,i与n-i总是成对存在,且相加等于n。

考虑i=n-i的特殊情况,此时n=2*i,由gcd(i,n)=1,得n=2。此时手动计算ans=1。

因为小于N且与N互质的数的个数为φ(n),于是我们可以得出公式ans=n*φ(n)/2。

时间: 2024-11-03 01:31:48

一个简单的公式——求小于N且与N互质的数的和的相关文章

欧拉函数 求小于某个数并与其互质的数的个数

1 const int maxn=32790; 2 int euler[maxn+2]; 3 void make() 4 { 5 euler[1]=0; 6 for(int i=2;i<=maxn;++i) 7 euler[i]=i; 8 for(int i=2;i<=maxn;++i) 9 if(euler[i]==i) 10 for(int j=i;j<=maxn;j+=i) 11 euler[j]=euler[j]/i*(i-1); 12 } euler[n]代表的就是在n之前与n

python 求10亿以内和987654互质正整数的和

加群看见的 但是计算好慢,谁有更优的算法,麻烦说一下. ? 1 2 3 4 5 6 7 8 9 10 factor=[] for x in xrange(1, 987654//2+1):     if 987654%x==0:         factor.append(x) sum=0 for y in xrange(1, 1000000000):     for z in factor:         if y%z == 0:             sum+=y print sum 51

容斥原理 求M以内有多少个跟N是互质的

开始系统的学习容斥原理!通常我们求1-n中与n互质的数的个数都是用欧拉函数! 但如果n比较大或者是求1-m中与n互质的数的个数等等问题,要想时间效率高的话还是用容斥原理! 本题是求[a,b]中与n互质的数的个数,可以转换成求[1,b]中与n互质的数个数减去[1,a-1]与n互质的数的个数. #include<iostream> #include<cstdio> #include<cstring> using namespace std; #define LL long

UVA12493 - Stars(求1-N与N互质的个数)欧拉函数

Sample Input 3 4 5 18 36 360 2147483647 Sample Output 1 1 2 3 6 48 1073741823 题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3937 题目大意:圆上有N个点把圆分成N等分,求隔相同的点能一笔画完所有点的方法: 思考:要一笔画出,那么(N,K)必定没有在

HDU3240-Counting Binary Trees(Catalan数+求逆元(非互质))

Counting Binary Trees Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 564    Accepted Submission(s): 184 Problem Description There are 5 distinct binary trees of 3 nodes: Let T(n) be the number

关于高斯-博内公式的一个简单的内蕴证明

关于高斯-博内-陈 平面上任一三角形的三内角之和恒等于π,对于一般曲面上由三条测地线构成的三角形,其内角和等于π加上高斯曲率K在此三角形所围曲面上的积分. 1827年,高斯证明了这一定理.1944年,博内将这一定理推广到一般曲面上,由任一闭曲线C围成的单连通区域,形成了著名的高斯-博内公式.1944年,陈省身给出了高斯-博内公式的内藴证明. 欧拉数虽然神秘有趣,可还是引不起数学家们的强烈兴趣,原因是它太简单了,小学生都可以很快弄懂这些数的来源,那个时代的数学家们总是希望有个积分,微分什么的,以显

一个简单通用权限管理系统,求各位帮忙看看

最近为公司做一个能源行业的管理平台系统,既然系统定位为平台,自然需要插件化.高通用性等,当前正在进行权限部分的设计,由于本人最近一直忙于开发.设计工作,手中没有一个比较通用的权限管理系统,所以打算顺便借此机会设计一套,我对权限系统没有什么研究,看了一天园子里的相关文章,初步做了个数据库设计,希望各路大神帮忙看看,下面附上数据表结构图,献丑了... 一个简单通用权限管理系统,求各位帮忙看看,布布扣,bubuko.com

【c语言】用π/4 ≈ 1 - 1/3 + 1/5 - 1/7 +... 公式求π的近似值,直到发现某一项的绝对值小于10^6为止。

// 用π/4 ≈ 1 - 1/3 + 1/5 - 1/7 +... 公式求π的近似值,直到发现某一项的绝对值小于10^6为止. #include <stdio.h> #include <math.h> int main() { double sign = 1.0; int i; double sum = 0.0; for(i = 1;fabs(i) < pow( 10,6 ); i = i + 2) { sum = sum + sign / i; sign = ( -1 )

蔡勒公式求今天是星期几?

之所以知道蔡勒公式,是因为今天在九度上做的一道题目[题目1043:Day of Week].以前也曾经做过求星期几这样的题目,当时的做法比较粗暴:已经知道某年某月某日是星期几,要求现在给的某天是星期几,直接求给的日期和已知日期的相差天数对7取余,再根据已知的星期做相应的调整即可.这样的做法不仅繁琐,而且一不留神就有可能算错.这次又碰到类似的题目,希望尝试新的方法.于是在查资料的过程中,知道了蔡勒公式.于是用蔡勒公式来解决了这道题目,虽然知道蔡勒公式,但是在使用过程中依旧错误不断.其实是因为对蔡勒