poj 2590(水题,注意是n1*(n1+1)不是n1*n1+1)

#include<iostream>
#include<cmath>
using namespace std;
int main(){
    long long n,a,b,c,n1,result;
    scanf("%lld",&n);
    while(n--){
        scanf("%lld%lld",&a,&b);
        c = b-a;
        n1 = floor((double)pow((double)c,0.5));
        if(c==0){
            result = 0;
        }
        else if(c<=n1*n1){
            result = 2*n1-1;
        }
        else if(c<=n1*(n1+1)){
            result = 2*n1;
        }
        else{
            result = 2*n1+1; 
        }
        printf("%lld\n",result);
    }
    return 0;
}

 

posted @ 2021-11-29 17:07  智人心  阅读(30)  评论(0)    收藏  举报