zoukankan      html  css  js  c++  java
  • HDU 4279 Number [数学?]

      网赛第一个看的就是这题,直接打表找规律。很容易发现是由大于4的的偶数以及奇数的平方,再除去偶数的平方所组成。一开始犯了个比较2的错误,要不然应该是FB了。。

      也没有去推为什么是这样,这种题目一般都是先打表找下规律,一发现规律就懒的去推了。。

      直接sqrt是有精度问题的,但是G++能A,C++是WA,比较简单的办法是sqrt后再通过乘法调整一下。

      

     1 #include <string.h>
     2 #include <stdio.h>
     3 #include <math.h>
     4 typedef long long LL;
     5 int cas;
     6 LL l,r;
     7 LL get(LL x){
     8     if(x<=5)return 0;
     9     LL xx=sqrt((double)x);
    10     //有精度问题,调整一下(没有这句G++AC,C++WA..)
    11     while(xx*xx<=x)xx++;xx--;
    12     return x/2+(xx+1)/2-xx/2-2;
    13 }
    14 int main(){
    15     scanf("%d",&cas);
    16     while(cas--){
    17         scanf("%I64d%I64d",&l,&r);
    18         printf("%I64d\n",get(r)-get(l-1));
    19     }
    20     return 0;
    21 }
  • 相关阅读:
    js函数的Json写法
    Bootstrap3和Bootstrap4区别
    Unicode编码是什么
    保留字是什么
    范仁义js课程---5、js字面量和变量
    什么是脚本语言
    ECMAScript 版本
    TortoiseGit上传代码到GitHub
    Android Studio快捷键
    Android 适配
  • 原文地址:https://www.cnblogs.com/swm8023/p/2684211.html
Copyright © 2011-2022 走看看