zoukankan      html  css  js  c++  java
  • uva 11461 Square Numbers

    解题思路:记 f(n) 为 0~n 里的正完全平方数,则 f(n)=(int)sqrt(n). 则 a~b 里的正完全平方数个数为 f(b)-f(a-1).

     1 /**************************************************************************
     2 user_id: SCNU20102200088
     3 problem_id: uva 11461
     4 problem_name: Square Numbers
     5 **************************************************************************/
     6 
     7 #include <algorithm>
     8 #include <iostream>
     9 #include <iterator>
    10 #include <iomanip>
    11 #include <sstream>
    12 #include <fstream>
    13 #include <cstring>
    14 #include <cstdlib>
    15 #include <climits>
    16 #include <bitset>
    17 #include <string>
    18 #include <vector>
    19 #include <cstdio>
    20 #include <cctype>
    21 #include <ctime>
    22 #include <cmath>
    23 #include <queue>
    24 #include <stack>
    25 #include <list>
    26 #include <set>
    27 #include <map>
    28 using namespace std;
    29 
    30 //线段树
    31 #define lson l,m,rt<<1
    32 #define rson m+1,r,rt<<1|1
    33 
    34 //手工扩展栈
    35 #pragma comment(linker,"/STACK:102400000,102400000")
    36 
    37 const double EPS=1e-9;
    38 const double PI=acos(-1.0);
    39 const double E=2.7182818284590452353602874713526;  //自然对数底数
    40 const double R=0.5772156649015328606065120900824;  //欧拉常数:(1+1/2+...+1/n)-ln(n)
    41 
    42 const int x4[]={-1,0,1,0};
    43 const int y4[]={0,1,0,-1};
    44 const int x8[]={-1,-1,0,1,1,1,0,-1};
    45 const int y8[]={0,1,1,1,0,-1,-1,-1};
    46 
    47 typedef long long LL;
    48 
    49 typedef int T;
    50 T max(T a,T b){ return a>b? a:b; }
    51 T min(T a,T b){ return a<b? a:b; }
    52 T gcd(T a,T b){ return b==0? a:gcd(b,a%b); }
    53 T lcm(T a,T b){ return a/gcd(a,b)*b; }
    54 
    55 ///////////////////////////////////////////////////////////////////////////
    56 //Add Code:
    57 ///////////////////////////////////////////////////////////////////////////
    58 
    59 int main(){
    60     std::ios::sync_with_stdio(false);
    61     //freopen("in.txt","r",stdin);
    62     //freopen("out.txt","w",stdout);
    63     ///////////////////////////////////////////////////////////////////////
    64     //Add Code:
    65     int a,b;
    66     while(scanf("%d%d",&a,&b)!=EOF){
    67         if(a==0 && b==0) break;
    68         int ans=(int)sqrt(b)-(int)sqrt(a-1);
    69         printf("%d
    ",ans);
    70     }
    71     ///////////////////////////////////////////////////////////////////////
    72     return 0;
    73 }
    74 
    75 /**************************************************************************
    76 Testcase:
    77 Input:
    78 1 4
    79 1 10
    80 0 0
    81 Output:
    82 2
    83 3
    84 **************************************************************************/
  • 相关阅读:
    Poj 1742 Coins(多重背包)
    Poj 2350 Above Average(精度控制)
    求二进制数中1的个数
    Poj 1659 Distance on Chessboard(国际象棋的走子规则)
    Poj 2411 Mondriaan's Dream(压缩矩阵DP)
    Poj 2136 Vertical Histogram(打印垂直直方图)
    Poj 1401 Factorial(计算N!尾数0的个数——质因数分解)
    poj 2390 Bank Interest(计算本利和)
    Poj 2533 Longest Ordered Subsequence(LIS)
    Poj 1887 Testing the CATCHER(LIS)
  • 原文地址:https://www.cnblogs.com/linqiuwei/p/3342652.html
Copyright © 2011-2022 走看看