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 }
  • 相关阅读:
    为用户添加角色
    WCF、MongoDB
    文件分布式存储实现例程
    Redis的Replication(复制)
    Lucene热词显示并选择
    Lucene热词统计
    通过队列解决Lucene文件并发创建索引
    Lucene.net应用
    Lucene.net
    Redis
  • 原文地址:https://www.cnblogs.com/swm8023/p/2684211.html
Copyright © 2011-2022 走看看