题意:

     蛋疼的题意,最后是泽神给我讲的题意,题意是对于一个数来说,如果他不能整除另一个数同时他和另一个数非互质,那么另一个数就是这个数的特别数,如10 的特别数有 4 6 8三个,同时题目还定义,有奇数个特别数的数是真数,现在给你一个范围,问你有多少个数字是真数.


思路:

    先打表,看下真实数的规律,假如当前数字是a,真实数其实就是6 到 a之间偶数的个数 + 奇数的平方数(如 9,25,49..) - 偶数的平方数(16 ,36 ,64..) 

就是 :                    
 a / 2 - 2 + Sqrt(a) % 2 . 

因为如果Sqrt(a)是奇数奇数平方数就比偶数平方数多1,否则相等,所以直接+ Sqrt(a) % 2,还有一点就是sqrt()对于__int64会失精度,所以用二分去找sqrt();

所以最后答案就是:

y / 2 - 2 + Sqrt(y) % 2   -   ((x - 1) / 2 - 2 + Sqrt(x - 1) % 2 ) 

注意 x=1 和 x = 2的情况处理下,不然会错...下面是打表代码 和 AC代码


AC代码:

#include<stdio.h>

__int64
max_ = 3037000499; __int64 Sqrt(__int64 num)
{
__int64
low ,mid ,up;
low = 1 ,up = num;
if(
up > max_) up = max_;
__int64
mk = 0;
while(
low <= up)
{

mid = (low + up) / 2;
if(
mid * mid > num)
{

up = mid - 1;
}
else
{

low = mid + 1;
mk = mid;
}
}
return
mk;
} int main ()
{
__int64
x ,y ,t;
scanf("%I64d" ,&t);
while(
t--)
{

scanf("%I64d %I64d" ,&x ,&y);
__int64
xx = (x-1) / 2 - 2 + Sqrt(x-1) % 2;
__int64
yy = y / 2 - 2 + Sqrt(y) % 2; if(x == 1 || x == 2) xx = 0;
if(
y == 1) yy = 0;
printf("%I64d\n" ,yy - xx);
}
return
0;
}
打表代码:

#include<stdio.h>

int main ()
{
   int sss = 0;
   for(int i = 1 ;i <= 100 ;i ++)
   {
      int now = i ,sum = 0;
      for(int j = 2 ;j < i ;j ++)
      {
         if(i % j == 0)continue;
         for(int ii = 2 ;ii <= j ;ii ++)
         if(i % ii == 0 && j % ii == 0)
         {
            sum++;
            break;
         }
      }
      
     if(sum % 2) printf("%d " ,i);
   }
   getchar();
   getchar();
   getchar();
   return 0;
}
   



hdu4279 找规律+小想法的更多相关文章

  1. [CSP-S模拟测试]:小盆友的游戏(数学 or 找规律)

    题目传送门(内部题110) 输入格式 第一行一个整数$N$,表示小盆友的个数. 第二行$N$个整数$A_i$,如果$A_i=-1$表示$i$目前是自由身,否则$i$是$A_i$的跟班. 输出格式 一个 ...

  2. 51nod_1831: 小C的游戏(Bash博弈 找规律)

    题目链接 此类博弈不需要考虑sg函数,只需要确定必胜态和必败态,解题思路一般为打败先打表找规律,而后找规律给出统一的公式.打表方式:给定初始条件(此题中为ok[0]=ok[1]=0),然后从低到高枚举 ...

  3. 51nod 1831: 小C的游戏(Bash博弈 找规律)

    题目链接 此类博弈不需要考虑sg函数,只需要确定必胜态和必败态,解题思路一般为打败先打表找规律,而后找规律给出统一的公式.打表方式:给定初始条件(此题中为ok[0]=ok[1]=0),然后从低到高枚举 ...

  4. hdu4952 Number Transformation (找规律)

    2014多校 第八题 1008 2014 Multi-University Training Contest 8 4952 Number Transformation Number Transform ...

  5. BZOJ-1228 E&D 博弈SG+找啊找啊找规律

    讨厌博弈,找规律找半天还是错的.... 1228: [SDOI2009]E&D Time Limit: 10 Sec Memory Limit: 162 MB Submit: 666 Solv ...

  6. hdu 3032 Nim or not Nim? (SG函数博弈+打表找规律)

    Nim or not Nim? Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Sub ...

  7. HDU 4910 Problem about GCD 找规律+大素数判断+分解因子

    Problem about GCD Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others ...

  8. HDU 4861 Couple doubi (数论 or 打表找规律)

    Couple doubi 题目链接: http://acm.hust.edu.cn/vjudge/contest/121334#problem/D Description DouBiXp has a ...

  9. 【数论,找规律】Uva 11526 - H(n)

    原来做过的题再看还是没想出来,看来当时必然没有真正理解.这次回顾感觉理解更透彻了. 网上的题解差不多都是一个版本,而且感觉有点扯.根据n=20猜出来的? 好吧哪能根据一个就猜到那么变态的公式.其实这题 ...

随机推荐

  1. 10. vue之webpack打包详解

    一.什么是webpack webpack官网给出的定义是 本质上,webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler).当 webpack 处理应 ...

  2. golang操作mysql2

    目录 Go操作MySQL 连接 下载依赖 使用MySQL驱动 初始化连接 SetMaxOpenConns SetMaxIdleConns CRUD 建库建表 查询 单行查询 多行查询 插入数据 更新数 ...

  3. iot漏洞mips汇编基础

    1 基础概念 MIPS(Microprocessor without Interlocked Piped Stages architecture),是一种采取精简指令集(RISC)的处理架构,由MIP ...

  4. Codeforces Round #684 (Div. 2)

    A 讨论三种情况,不换/全换成0/全换成1 ,取一个花费最小值 #include <bits/stdc++.h> using namespace std; const int N = 10 ...

  5. Spring Boot 轻量替代框架 Solon 的架构笔记

    Solon 是一个微型的Java开发框架.项目从2018年启动以来,参考过大量前人作品:历时两年,4000多次的commit:内核保持0.1m的身材,超高的跑分,良好的使用体验.支持:RPC.REST ...

  6. java基础:数据类型拓展

    public static void main(String[] args) { //单行注释 //输出hello,world! //System.out.println("hello,wo ...

  7. 09、集合set

    集合(set) 集合是一个无序.可变.不允许数据重复的容器 s = {11,22,33,'ccc'} 无序,无法通过索引取值 可变,可以添加和删除元素 s = {11,22,33,44} s.add( ...

  8. incubator-dolphinscheduler 如何在不写任何新代码的情况下,能快速接入到prometheus和grafana中进行监控

    一.prometheus和grafana 简介 prometheus是由谷歌研发的一款开源的监控软件,目前已经贡献给了apache 基金会托管. 监控通常分为白盒监控和黑盒监控之分. 白盒监控:通过监 ...

  9. 分子量(JAVA语言)

    package 第三章习题; /*  * 给出一种物质的分子式(不带括号)求分子量.  * 本题分子只包含4种原子,分别为C,H,O,N   * 分子量为分别为12.01,1.008,16.00,14 ...

  10. 在docker容器中使用cplex-python37

    技术背景 线性规划是常见的问题求解形式,可以直接跟实际问题进行对接,包括目标函数的建模和各种约束条件的限制等,最后对参数进行各种变更,以找到满足约束条件情况下可以达到的最优解.Cplex是一个由IBM ...