列表

详情


WY11. 星际穿越

描述

航天飞行器是一种复杂而又精密的仪器,飞行器的损耗主要集中在发射和降落的过程,科学家根据实验数据估计,如果在发射过程中,产生了 x 程度的损耗,那么在降落的过程中就会产生 x2 程度的损耗,如果飞船的总损耗超过了它的耐久度,飞行器就会爆炸坠毁。问一艘耐久度为 h 的飞行器,假设在飞行过程中不产生损耗,那么为了保证其可以安全的到达目的地,只考虑整数解,至多发射过程中可以承受多少程度的损耗?

数据范围:

输入描述

每个输入包含一个测试用例。每个测试用例包含一行一个整数 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;
        }
    }
}

上一题