// UVa 10784 - Diagonal #include <iostream> #include <stdio.h> #include <math.h> using namespace std; #define integer unsigned long long int int main() { integer n; int t = 0; while ((cin >> n) && n != 0) { t++; // s*(s-1)/2 - s <= n // 0.5*s^2 - 1.5*s - n <= 0 double a = 0.5; double b = -1.5; double c = -1.0 * n; double d = b * b - 4 * a * c; double x = (-b + sqrt(d)) / (2 * a); integer s = (integer) (ceil(x)); printf("Case %d: %llu\n", t, s); } return 0; }
No comments:
Post a Comment