WY11. 星际穿越
描述
输入描述
每个输入包含一个测试用例。每个测试用例包含一行一个整数 h (1 <= h <= 10^18)。输出描述
输出一行一个整数表示结果。示例1
输入:
10
输出:
2
示例2
输入:
1
输出:
0
Pascal 解法, 执行用时: 1ms, 内存消耗: 256KB, 提交时间: 2018-09-08
var h:int64; t,i:longint; begin read(h); t:=trunc(sqrt(h)); for i:=t downto 0 do if i*i+i<=h then break; writeln(i); end.
C 解法, 执行用时: 1ms, 内存消耗: 376KB, 提交时间: 2021-03-27
#include <stdio.h> #include <math.h> int main(){ long long int h; long long int x; scanf("%lld",&h); x = (-1+sqrt(1+4*h))/2; printf("%lld",x); return 0; }
C 解法, 执行用时: 1ms, 内存消耗: 376KB, 提交时间: 2020-08-24
#include <stdio.h> #include <math.h> int main() { long long int n; while(scanf("%lld",&n)!=EOF) { printf("%lld\n",(long long int)((-1+sqrt(1+4*n))/2)); } return(0); }
C 解法, 执行用时: 1ms, 内存消耗: 380KB, 提交时间: 2021-01-30
#include<stdio.h> #include<math.h> int main() { long long int h,x; scanf("%ld",&h); x=(-1+sqrt(4*h+1))/2; printf("%ld",x); }
C 解法, 执行用时: 2ms, 内存消耗: 224KB, 提交时间: 2018-12-18
#include <stdio.h> #include <math.h> int main() { long long h; long long i; scanf("%ld", &h); for (i=sqrt(h); i>=0; i--) { if (i * i + i <= h) { printf("%ld", i); return 0; } } }