题意:

     蛋疼的题意,最后是泽神给我讲的题意,题意是对于一个数来说,如果他不能整除另一个数同时他和另一个数非互质,那么另一个数就是这个数的特别数,如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. 如何使用 HttpReports 监控 .NET Core 应用程序

    简介 HttpReports 基于.NET Core 开发的APM监控系统,使用MIT开源协议,主要功能包括,统计, 分析, 可视化, 监控,追踪等,适合在中小项目中使用. github:https: ...

  2. 顺序表及基本操作(C语言)

    #include <stdio.h> #include <stdlib.h> //基本操作函数用到的状态码 #define TRUE 1; #define FALSE 0; # ...

  3. HDU_3359 Kind of a Blur 【浮点型高斯消元+BFS】

    一.题目 Kind of a Blur 二.分析 题目读起来挺费劲的. 主要就是要求一个矩阵,其中每个点及其于这个的曼哈顿距离小于D的点的值总和的平均值就是新生成的矩阵. 给定新生成的矩阵,求初始矩阵 ...

  4. 【LeetCode】2020-03 每日一题

    121. 买卖股票的最佳时机(简单) [分类]:模拟.思维 [题解]:可以用O(n)的复杂度完成,只需要在遍历的时候记录到当前位置为止买入股票的最小价格minn,再维护一个当前卖出股票价(a-minn ...

  5. 文本相似性计算--MinHash和LSH算法

    给定N个集合,从中找到相似的集合对,如何实现呢?直观的方法是比较任意两个集合.那么可以十分精确的找到每一对相似的集合,但是时间复杂度是O(n2).此外,假如,N个集合中只有少数几对集合相似,绝大多数集 ...

  6. C 语言代码风格之 Linux 内核代码风格

    GitHub: https://github.com/storagezhang Emai: debugzhang@163.com 华为云社区:https://bbs.huaweicloud.com/b ...

  7. APK瘦身属性——android:extractNativeLibs

    先描述一下结论: android:extractNativeLibs = true时,gradle打包时会对工程中的so库进行压缩,最终生成apk包的体积会减小. 但用户在手机端进行apk安装时,系统 ...

  8. 使用Azure API Management, Functions, Power Apps和Logic App构建应用

    ASP.NET OpenAPI 可以非常方便的将我们的Web API项目自动文档化,除了自动文档化以外,我们还可以利用Azure API Management将Open API自动文档化了的Web A ...

  9. Alluxio+HDFS+MapReduce集成及测试

    目录 1.在 HDFS 上配置 Alluxio 1.1.节点角色 1.2.软件版本 1.3.准备工作 1.3.1.设置 SSH 免密登录 1.3.2.安装 JDK 1.3.3.安装 Hadoop 1. ...

  10. Typora标题自动编号+设定快捷键技巧

    Typora标题自动编号 提示:要了解将这些CSS片段放在哪里,请参阅添加自定义CSS. 打开Typora偏好设置,打开主题文件夹,在主题文件夹中创建base.user.css文件,放置以下内容,则T ...