Uva--846 (数学)

2014-06-08 17:26:13

题意&思路:算差,推公式,简单题。(TAT,公式题要注意的是判断公式使用范围。。。这题被特判0坑了一次)

#include <cstdio>
#include <iostream>
#include <cmath>
using namespace std;

int main(){
    int n,n1,n2;
    double x,y,k;
    cin >> n;
    while(n--){
        cin >> x >> y;
        k = y - x;
        if(k == 0){
            printf("0\n");
            continue;
        }
        //odd
        n1 = (int)ceil(2 * sqrt(k) - 1);
        if((n1 & 1) != 1)
            ++n1;
        //even
        n2 = (int)ceil(sqrt(1 + 4 * k) - 1);
        if(n2 & 1)
            ++n2;
        cout << min(n1,n2) << endl;
    }
    return 0;
}

 

posted @ 2014-06-08 17:27  Naturain  阅读(93)  评论(0编辑  收藏  举报