http://acm.hdu.edu.cn/showproblem.php?pid=4279

题意:

给出a,b两个数,1<=a<=b 如果a,b不互质,且a%b != 0则说明a是b的特殊数字f[i]表示i拥有的特殊数字的个数,如果f[i]是奇数,那么i就是 real numbers

给出区间[x,y]求区间内的 real numbers的数量。

思路:

打标找规律,真心不好发现这规律;大于12之后 d[x] = x/2 -1或者d[x] = x/2 - 2;(d[x]表示1到x拥有的 real numbers的数量)发现在遇到平方数是转变原来-1变为-2,否则-2变为-1。  p^2 <= k < (p + 1)^2则数量为:p为奇数-1 偶数-2;

Ps:这里遇到一个很纠结的问题sqrt(x)如果不转换x为浮点型,C++出现编译错误,而G++就AC,而如果转化为浮点型c++wa..无语了。。

View Code

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <queue>
#include <stack>
#include <set>
#include <map>
#include <string>#define CL(a,num) memset((a),(num),sizeof(a))
#define iabs(x)  ((x) > 0 ? (x) : -(x))
#define Min(a,b) (a) > (b)? (b):(a)
#define Max(a,b) (a) > (b)? (a):(b)#define ll __int64#define MOD 100000007
#define lc l,m,rt<<1
#define rc m + 1,r,rt<<1|1
#define pi acos(-1.0)
#define test puts("<------------------->")
#define maxn 100007
#define M 100007
#define N 107
using namespace std;
//freopen("din.txt","r",stdin);
int f[20] = {0,0,0,0,0,0,1,1,2,3,4,4,5};ll getR(ll x){if (x <= 12) return f[x];ll tmp = x/2;ll tp = (ll)sqrt(1.0*x);if (tp&1) tmp -= 1;else tmp -= 2;return tmp;
}
int main(){ll a,b;int t;scanf("%d",&t);while (t--){scanf("%I64d%I64d",&a,&b);printf("%I64d\n",getR(b) - getR(a - 1));}return 0;
}

转载于:https://www.cnblogs.com/E-star/archive/2012/09/11/2680958.html

hdu 4279 Number (找规律)相关推荐

  1. hdu 1165 坑爹找规律题

    http://acm.hdu.edu.cn/showproblem.php?pid=1165 不看题解,使劲找规律,应该是可以找到的,就是费时间! Problem Description As is ...

  2. hdu 4279 Number

    代码如有错,请指出 找规律题... 打的表如下: View Code n 满足有公因子且不整除的数的个数 满足为奇数的个数(要求的答案) 1 0 0 2 0 0 3 0 0 4 0 0 5 0 0 6 ...

  3. hdu 5504(枚举+找规律)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5504 官方题解: 注意先特判0 的情况:如果读入的数据有0 ,那么去掉所有的0 且最后答案和0 取一个 ...

  4. hdu 3054 Fibonacci 找规律

    传送门 题意:第m个满足末尾连续k个0的数是斐波那契的第几项. 思路:先通过打表输出找到规律,然后根据规律解题.运行完打表代码之后会发现1,3,4,5,6,7,--都是到第9个数增量是有一个变化,而2 ...

  5. HDU 2897 (博弈 找规律) 邂逅明下

    根据博弈论的两条规则: 一个状态是必胜状态当且仅当有一个后继是必败状态 一个状态是必败状态当且仅当所有后继都是必胜状态 然后很容易发现从1开始,前p个状态是必败状态,后面q个状态是必胜状态,然后循环往 ...

  6. HDU 4279 - Number

    2012年天津赛区网赛的题目,想了好久,也没能想出来 还是小杰思路敏捷,给我讲解了一番,才让我把这个题做出来 f(x)=x-phi(x)(1--x与x互素个数)-g(x)(x的因子个数)+1 其中g( ...

  7. HDU 1847 (博弈 找规律) Good Luck in CET-4 Everybody!

    为了提高题解质量还是简单证明一下:3的倍数是必败状态. 如果n % 3 = 1,那么拿走1个石子:如果n % 3 = 2,那么拿走两个石子,都将转移到3的倍数的状态.所以每个必胜状态都有一个后继是必败 ...

  8. HDU 5703 Desert 水题 找规律

    HDU 5703 Desert 水题 找规律 已知有n个单位的水,问有几种方式把这些水喝完,每天至少喝1个单位的水,而且每天喝的水的单位为整数.看上去挺复杂要跑循环,但其实上,列举几种情况之后就会发现 ...

  9. 【HDU - 5881】Tea(思维,找规律)

    题干: Tea is good. Tea is life. Tea is everything. The balance of tea is a journey of pursuing balance ...

最新文章

  1. mysql 1449 : The user specified as a definer ('root'@'%') does not exist
  2. voc生成xml 代码
  3. oracle中把函数的执行权限赋个某个用户
  4. 设计一个算法找一条从迷宫入口到出口的最短路径。_我花了一夜用数据结构给女朋友写个H5走迷宫游戏...
  5. 【资料】翘首期盼247天!《阿里巴巴Java开发手册》扫描插件详情介绍
  6. shell sort 最后一列排序_十个必知的排序算法|Python实例系列[1]
  7. 为什么要学linux命令以及linux(ubuntu)的文件与目录命令
  8. HTML5新控件 - 日期和时间选择输入
  9. 电子设计竞赛作品设计步骤
  10. 前端自动化测试框架Jest中的匹配器
  11. H3C_利用策略路由实现出口双线路负载(选路)的部署
  12. Java Logging之JUL系列——Logger Hierarchy
  13. day 05 DQL数据查询语言---连接查询---登堂入室
  14. 6-vulnhub靶场-LordOfTheRoot_1.0.1靶机内核提权udf提权缓冲区溢出提权
  15. 2021年中高级Android大厂面试秘籍,为你保驾护航金三银四,直通大厂
  16. 迅雷面试题: 模拟银行一天的工作, 统计vip客户和普通客户的办理业务的平均等待时间.
  17. elasticsearch彻底删除文件命令行操作
  18. 无需翻墙使用ChatGPT-4
  19. cpu第几代计算机,赛扬G系列有几代cpu分别是
  20. 告诉你怎么编写一个最简单的单片机程序

热门文章

  1. Kubernetes 搭建 ES 集群(存储使用 cephfs)
  2. u3d+向服务器上传文件,unity3d向服务器传数据库
  3. 【CF gym 103260】40th Petrozavodsk Programming Camp, Day 5,2021.2.3 水题2题
  4. 泽众性能测试软件,软件测试工具-测试管理工具-自动化测试工具-性能测试工具-SPASVO泽众软件测试网...
  5. JAVA→异常、异常类体系结构、try→catch→finally处理异常、throw new Exception(“重构异常“);、throws Exception{ }、自定义异常
  6. simpana oracle,华为认证云运维专家(HCIE-CDO)
  7. java中实现方法重载怎么声明_java 接口中如何声明类似于重载的方法?
  8. java 调用c 的dll,java如何调用C的dll
  9. hget如何获取多个value_《深入微服务》之 如何给老婆解释什么是微服务的基础框架SpringBoot?...
  10. 操作系统—处理机调度