calculate the f(n) . (3<=n<=1000000)

f(n)= Gcd(3)+Gcd(4)+…+Gcd(i)+…+Gcd(n).
Gcd(n)=gcd(C[n][1],C[n][2],……,C[n][n-1])
C[n][k] means the number of way to choose k things from n some things.

网络上有这个题的题解,但是都是说打表找规律,没有给出规律的证明。昨天睡前yy了一下,给个证明:

首先规律是:

1.Gcd(n)=1  如果n至少有2个不同的质因子;

2.Gcd(n)=p  如果$n=p^k$

先来证明第2条:

$Gcd(p^k)=p$

首先$C[n][1]=n=p^k$

那么最大公约数只能是$p^r\ \ (r<=k)$

考虑第i个组合数$C[n][i]=\frac{p^k*(p^k-1)*(p^k-2)\cdots*(p^k-i+1)}{i!}$

$p^r | (p^k-i) $等价于$p^r | i $

所以$\frac{p^k*(p^k-1)*(p^k-2)\cdots*(p^k-i+1)}{i!}$ 里面因子p的个数和$\frac{p^k*1*2*3\cdots*(i-1)}{i!}$是一样的。

$\frac{p^k*1*2*3\cdots*(i-1)}{i!}$约分一下就变成$\frac{p^k}{i}$         $(1<=i<=p^k-1)$

当$i=p^{k-1}$的时候, $\frac{p^k}{i}$ 里面p的个数最少,只有1个,  因此$Gcd(p^k)=p$

根据上面的思想可以证明第1条:

设 $n=p_1^{\alpha_1}p_2^{\alpha_2}\cdots p_k^{\alpha_k}$

考虑任意一个质因子$p_j$

第i个组合数$C[n][i]=\frac{n*(n-1)*(n-2)\cdots*(n-i+1)}{i!}$

根据上面的推导 $p_j$在第i个组合数出现的次数为$\frac{n}{i}$ 中$p_j$出现的次数。

当$i=\frac{n}{p_s}\ \ (s\neq j)$的时候,$\frac{n}{i}$ 中$p_j$出现的次数为0.

因此不论考虑哪一个质因子,总有某个组合数不是它的倍数,所以$Gcd(p_1^{\alpha_1}p_2^{\alpha_2}\cdots p_k^{\alpha_k})=1$

f(n) hdu 2582的更多相关文章

  1. HDU 2582 规律 素因子

    定义$Gcd(n)=gcd(\binom{n}{1},\binom{n}{2}...\binom{n}{n-1})$,$f(n)=\sum_{i=3}^{n}{Gcd(i)}$,其中$(3<=n ...

  2. hdu 2582 f(n) 数学

    打表找规律: 当n为质数是,GCD(n)=n; 当n为质数k的q次方时,GCD(n)=k; 其他情况,GCD(n)=1. 代码如下: #include<iostream> #include ...

  3. 数学--数论--HDU 2582 F(N) 暴力打表找规律

    This time I need you to calculate the f(n) . (3<=n<=1000000) f(n)= Gcd(3)+Gcd(4)+-+Gcd(i)+-+Gc ...

  4. 数位dp H - F(x) HDU - 4734

    http://acm.hdu.edu.cn/showproblem.php?pid=4734 一般数位dp表示的是数的性质,这个题目也是一样,但是我们求出来的是一个函数的值,怎么把这个值转化成一类数, ...

  5. F - JDG HDU - 2112 (最短路)&& E - IGNB HDU - 1242 (dfs)

    经过锦囊相助,海东集团终于度过了危机,从此,HDU的发展就一直顺风顺水,到了2050年,集团已经相当规模了,据说进入了钱江肉丝经济开发区500强.这时候,XHD夫妇也退居了二线,并在风景秀美的诸暨市浬 ...

  6. F题 hdu 1431 素数回文

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1431 素数回文 Time Limit: 2000/1000 MS (Java/Others)    M ...

  7. hdu 2582(数论相关定理+素数筛选+整数分解)

    f(n) Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  8. ACM-ICPC 2015 沈阳赛区现场赛 F. Frogs && HDU 5514(容斥)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5514 题意:有m个石子围成一圈, 有n只青蛙从跳石子, 都从0号石子开始, 每只能越过xi个石子.问所 ...

  9. F - kebab HDU - 2883 (最大流构图)

    Almost everyone likes kebabs nowadays (Here a kebab means pieces of meat grilled on a long thin stic ...

随机推荐

  1. Spark学习(二) -- Spark整体框架

    标签(空格分隔): Spark 还记得上次的wordCount程序嘛?通过这个小程序,我们来一窥Spark的框架是什么样子的. sc.textFile("/usr/local/Cellar/ ...

  2. Windows安装Scrapy遇坑解决办

    PS: Windows真心不适合开发.且行且珍惜.... 坑: error: Setup script exited with error: Microsoft Visual C++ 9.0 is r ...

  3. C#的四种Timer介绍

    一.Timer的几个类别 1.System.Threading.Timer 2.System.Timers.Timer 3.System.Windows.Forms.Timer 4.System.Wi ...

  4. css实现div的高度填满剩余空间

    css实现div的高度填满剩余空间 .top{ width: 100%; height: 70px;} .bottom{background-color: #cc85d9;width: 100%;po ...

  5. js做计算器

    js文档: function count(){ var a var txt1=document.getElementById("txt1").value;//获取第一个输入框的值 ...

  6. UIStackView使用 (堆视图)

    一基本使用 1创建多个子控件 for (int i = 0; i < 3; i++) { UIButton *imgBtn = [UIButton buttonWithType:UIButton ...

  7. hibernate 和 myBatis 比较

    Hibernate与 MyBatis的比较 第一章     Hibernate与MyBatis Hibernate 是当前最流行的O/R mapping框架,它出身于sf.net,现在已经成为Jbos ...

  8. 在VIM中进行快速的查找和替换

    VIM是被誉为非常高效的文本编辑软件.但是掌握并高效的使用是件有难度的事情.在VIM中进行快速的查找和替换是提高VIM使用效率的重要方法.下面是我在阅读VIM用户手册时整理的一些资料: 行内搜索. f ...

  9. 第四周作业-yjw

    运动策略分析 首先我们可以得到我方击球手质心的位置,球的质心的位置,对方球门中心位置.同时以桌面边缘为坐标轴,建立笛卡尔坐标系.可以明确的一点是,击球手的运动为曲线,球进框的运动为直线,或者折线. 击 ...

  10. python3 实现简单信用卡管理程序

    1.程序执行代码: #Author by Andy #_*_ coding:utf-8 _*_ import os,sys,time Base_dir=os.path.dirname(os.path. ...