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


#include
#include
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;
}

相关