题目:Number


题意: 给出一个f(x),表示不大于x的正整数里,不整除x且跟x有大于1的公约数的数的个数。定义F(x),为不大于x的正整数里,满足f(x)的值为奇数的数的个数。题目就是求这个F(x)。


网上很多方法就是打表找规律,已经谈不上是算法了。

这里我们可以来分析:


不整除x且跟x有大于1的公约数的数的个数 f(x)=x-约数个数-互质数个数+1 。


把x素因子分解,易知x的约数个数为(质数的幂+1)的累乘。所以若要使约数为奇数,充要条件是(质数的幂+1)都为奇

数,即质数的幂都为偶数。所以此时x必然是一个平方数。


综上,x为平方数,其约数个数为奇数;x为非平方数,其约数个数为偶数。


互质数个数,我们有欧拉函数。

这里用到一个结论:欧拉函数在n>2时,值都为偶数。

所以,

当x>2时:

若x为平方数,f(x)=x-奇-偶+1,要使f(x)为奇数,则x必为奇数;

若x为非平方数,f(x)=x-偶-偶+1,要使f(x)为奇数,则x必为偶数。 

当x=1或2时,f(x)=0.


综上,F(x)的值为[3,x]中,奇数平方数+偶数非平方数的个数和,即 偶数个数-偶数^2的个数+奇数^2的个数。

而偶数个数为 x/2-1,-1是为了把2减掉。偶数^2个数为 sqrt(x)/2,奇数^2个数为 ( sqrt(x)-(sqrt(x)/2) )-1,这里-1是为了把1减掉。


所以,化简后,F(x)=x/2-1+(sqrt(x)%2? 0:-1).

#include <iostream>
#include <string.h>
#include <stdio.h>
#include <math.h>using namespace std;
typedef long long LL;LL Solve(LL n)
{LL ans=0;if(n<6) return 0;ans+=n/2-2;if((LL)sqrt(1.0*n)&1) ans++;return ans;
}int main()
{LL a,b,t;cin>>t;while(t--){cin>>a>>b;cout<<Solve(b)-Solve(a-1)<<endl;}return 0;
}

HDU4279(2012年天津网络赛---数论分析题)相关推荐

  1. HDU 4292 Food (成都赛区网络赛第五题,拆点网络流)

      题意:跟POJ3281基本上一样的拆点网络流. 建图:建一超级源点和一超级汇点,源点与食物相连,边权为其数量,汇点与饮料相连,边权也为其数量,把人分成两个点,之间的边权为1.每个人与之需要的食物和 ...

  2. codeforces 数论分析题

    题目:http://codeforces.com/contest/359/problem/C 题意:给一个素数x和一个长度为n的数列a[],求的分子和分母的最大公约数. 分析:对于分子来说,我们把分子 ...

  3. 2019南昌网络赛 C题,Hello 2019

    题意:求包含9012,但是不包含8012的最小删除次数 解题思路:首先将字符串反转,按照题解思路为线段树维护矩阵即可 我们将线段树的每个区间用矩阵表示,矩阵mat[5][5]维护2019这个序列的情况 ...

  4. ACM网络赛金华赛区的一道关于树的题:Family Name List

    三场网络赛终于告一段落了!唉,实力太弱了!跟北大.清华这些家伙差距太远了,比"我在你身边你却不知道我爱你"的距离还要远! 这道题没有来得及提交,自己下来写完的,把样例过了!留在博客 ...

  5. 2012 成都网络赛小记

    一直想以优质的文章回馈互联网,无奈本菜太弱,只得修炼一段时日再一类类的总结 好了,废话不多说,今天的网络赛状态还好,只是有点小遗憾,DP太弱了 1001:一看就是裸的线段树,然后回想一下省赛的题,区间 ...

  6. 华为杯大学生计算机软件大赛,关于举办2018年西安电子科技大学程序设计网络赛暨第十六届“华为杯”大学生程序设计竞赛的通知...

    各学院: 程序设计是大学生运用计算机充分展示自己分析问题和解决问题能力的一个重要途径,对于培养大学生实践能力.团队意识.创新意识.顽强意志和综合素质具有显著作用和效果.为了推动这项创新性素质教育活动的 ...

  7. 【ECJTU_ACM 11级队员2012年暑假训练赛(8) - F - A Mame】

    Home Problems Status Contest Register Login B题要套一个数论的模版,注意m=1!! C题可以二分匹配,把行列看作点; 不能开百度,开谷歌搜题解,再次强调!一 ...

  8. 2019 ICPC中国邀请赛(南昌)暨国际丝绸之路程序设计竞赛-网络赛题解

    以下所有AC题解程序来自"仙客传奇"团队. AC题数:10/13 ABCDHIJKLM A. PERFECT NUMBER PROBLEM 解题思路:先编写离线程序计算出最小的5个 ...

  9. 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 xor (根号分治)

    xor There is a tree with nn nodes. For each node, there is an integer value a_ia​i​​, (1 \le a_i \le ...

最新文章

  1. 如何理解numpy.nan_to_num
  2. python创建文件夹命令_python文件操作指令
  3. 假如我是陈一舟--我的大社交生态系统战略
  4. matlab求系统根轨迹代码_根轨迹法、PID参数整定和matlab指令计算
  5. Java扑克牌(斗地主发牌)
  6. 关于 IAR 环境的一些使用 琐记
  7. apk源码查看工具_如何查看Linux命令工具的源码?
  8. c语言插入排序_还有这种操作?C语言插入排序算法,一点就透
  9. dorado开发模式下实现动态查询
  10. Java连接mysql出现SQL异常,MySQL 这样连接为何出现这样的异常
  11. CS231n李飞飞计算机视觉 循环神经网络
  12. ussd代码大全_魅族ussd补电代码 | 手游网游页游攻略大全
  13. 微信小程序弹窗提示:wx.showToast、wx.showModal、wx.showLoading的使用场景与实现
  14. .NET面试宝典130道经典面试真题及答案
  15. matlab定义双精度型变量_MATLAB 数据类型
  16. uni-app 小程序后端返回二进制流图片显示
  17. ppt模板怎样用到html中,PPT模板怎么设置(ppt模板怎么竖版)
  18. 2022年新冠疫情后上海的电子商务,数字化经济可能的新趋势
  19. 寻宝游戏设定_第1集的答案(寻宝游戏)
  20. [转帖]国产麒麟系统为何饱受争议?

热门文章

  1. (常用API)正则表达式练习和相关的String类方法
  2. Hive的基本操作-创建分区表
  3. MapReduce分区-原理
  4. MapReduce案例-wordcount-Reduce阶段代码
  5. 登陆状态下加入购物车
  6. Spring Session实战2
  7. SpringBoot(配置druid数据源、配置MyBatis、事务控制、druid 监控)
  8. Spring ribbon
  9. 计算机系统优化的目的和原理,优化原理
  10. 使用TortoiseGit操作分支的创建与合并