1. 程式人生 > >2017網易校招程式設計題 -- 星際穿越

2017網易校招程式設計題 -- 星際穿越

題目描述

航天飛行器是一項複雜而又精密的儀器,飛行器的損耗主要集中在發射和降落的過程,科學家根據實驗資料估計,如果在發射過程中,產生了 x 程度的損耗,那麼在降落的過程中就會產生 x2 程度的損耗,如果飛船的總損耗超過了它的耐久度,飛行器就會爆炸墜毀。問一艘耐久度為 h 的飛行器,假設在飛行過程中不產生損耗,那麼為了保證其可以安全的到達目的地,只考慮整數解,至多發射過程中可以承受多少程度的損耗?

輸入描述:

每個輸入包含一個測試用例。每個測試用例包含一行一個整數 h (1 <= h <= 10^18)。

輸出描述:

輸出一行一個整數表示結果。

示例1

輸入

10

輸出

2

解題思路:由題意知,求使得x*x^x <= h 的最大的x。由於h的資料比較大,需要最大跑1e9次。為了避免超時,可以使用二分來尋求x的值,這樣複雜度大大降低。

#include<bits/stdc++.h>
using namespace std;


int main(){

    long long h;
    while(cin>>h){
        long long l = 1;
        long long r = sqrt(h+0.5);
        long long x;
        long long k = 0;
        while(l<=r){
            x = (l+r)>>1;
            if(x+x*x <= h ){
                l = x+1;
                k = x;
            }else{
                r = x-1;
            }
        }
        cout<<k<<endl;
    }
    return 0;
}

相關推薦

2017程式設計 -- 星際穿越

題目描述 航天飛行器是一項複雜而又精密的儀器,飛行器的損耗主要集中在發射和降落的過程,科學家根據實驗資料估計,如果在發射過程中,產生了 x 程度的損耗,那麼在降落的過程中就會產生 x2 程度的損耗,如果飛船的總損耗超過了它的耐久度,飛行器就會爆炸墜毀。問一艘耐久度為 h 的

2018程式設計(3)交錯01串

如果一個01串任意兩個相鄰位置的字元都是不一樣的,我們就叫這個01串為交錯01串。例如: “1”,”10101”,”0101010”都是交錯01串。 小易現在有一個01串s,小易想找出一個最長的連續子串,並且這個子串是一個交錯01串。小易需要你幫幫忙求出最長的

一個數變為斐波那契數列數

題目描述 Fibonacci數列是這樣定義的: F[0] = 0 F[1] = 1 for each i ≥ 2: F[i] = F[i-1] + F[i-2] 因此,Fibonacci數列就形如:0, 1, 1, 2, 3, 5, 8, 13, ...,在Fibonacci數列

2017內推筆試題

本人筆試的計算機視覺方向,程式設計題和其他研發崗位類似。 歡迎小夥伴們一起討論出正確答案。 共20個選擇題,3個程式設計題,1個簡答題 一.選擇題 1.Linux中,提供TCP/IP包過濾功能的軟體叫什麼? A.iptables B.r

2017內推程式設計(測試工程師)--分蘋果

n 只奶牛坐在一排,每個奶牛擁有 ai 個蘋果,現在你要在它們之間轉移蘋果,使得最後所有奶牛擁有的蘋果數都相同,每一次,你只能從一隻奶牛身上拿走恰好兩個蘋果到另一個奶牛上,問最少需要移動多少次可以平分蘋果,如果方案不存在輸出 -1。 輸入描述: 每個輸入包含

2017.09.09筆試第一

題目忘了,大意是:給你一個長度為n的整形陣列A,你可以對A中的元素進行各種排列組合,看是否存在滿足以下條件的陣列:在該陣列中,A[i]*A[i+1]%4==0,這裡0<=i<=n-1。 資料輸入格式是:第一行,一個整數n,表示陣列的長度;第二行n個整數,表示陣列的所有元素。 如果

2017網路筆試第二,java實現

拿到這個題第一時間我是懵逼的,最終也沒做出來,不過後來繼續思考,又找了找資料,思路就出來了。首先是找到合法的括號序列。(這也是我的瓶頸,之前沒接觸過這種題,哎,太low了我。)此處參考部落格:http://blog.csdn.net/xiaohei00000/article/details

2018程式設計集合

1、小易準備去魔法王國採購魔法神器,購買魔法神器需要使用魔法幣,但是小易現在一枚魔法幣都沒有,但是小易有兩臺魔法機器可以通過投入x(x可以為0)個魔法幣產生更多的魔法幣。 魔法機器1:如果投入x個魔法幣,魔法機器會將其變為2x+1個魔法幣 魔法機器2:如果投入x個魔法幣,魔

2018程式設計

小易將n個棋子擺放在一張無限大的棋盤上。第i個棋子放在第x[i]行y[i]列。同一個格子允許放置多個棋子。每一次操作小易可以把一個棋子拿起並將其移動到原格子的上、下、左、右的任意一個格子中。小易想知道要讓棋盤上出現有一個格子中至少有i(1 ≤ i ≤ n)個棋子所需要的最少操

2017Java面試題

昨天參加了網易2017年校招面試,但是,一輪就被刷下來。仔細想想,確實自己實力不夠,今後需要更加努力!以下我是本次面試的經歷,主要講述面試題。 簡訊預約的是下午三點的面試,可是等到大概三點半才開始面試。我面試的Java開發,面試之前的幾天也抽時間看了點網上的資

2017編程集合

bbc 移除 規則 解題思路 兩個 最短 蘋果 最小步數 將不 CPP http://blog.csdn.net/achiberx/article/details/74058208 [編程題]回文序列 如果一個數字序列逆置之後跟原序列是一樣的就稱這樣的數字序列

前端筆試之2019

分布 方法 global 單選 全局 因此 上下 cal function 今天剛做完網易校招的前端筆試題,總體難度不算很難,有送分題也有拉分題,不過大公司的筆試算法題占比最大,整套筆試題的題型與分值分布分別是:單選題40分共20題、編程題60分共3題、問答題20分共2題,

——藏寶圖

題目描述 牛牛拿到了一個藏寶圖,順著藏寶圖的指示,牛牛發現了一個藏寶盒,藏寶盒上有一個機關,機關每次會顯示兩個字串 s 和 t,根據古老的傳說,牛牛需要每次都回答 t 是否是 s 的子序列。注意,子序列不要求在原字串中是連續的,例如串 abc,它的子序列就有{空串, a, b

演算法(十八):搜狗19年程式設計(一)——找區間

注:筆試時並沒有AC,線下修改後可以輸出示例結果。 問題:從一個序列中找出所有包含全部數字的最小索引區間,若有多個則按出現的順序輸出。 輸入輸出示例: 輸入:1 1 3 4 6 6 5 1 1 3 3 輸出:[2,7] [3,8] [4,9] 分析:先用一個list

騰訊程式設計之快遞分身術

題目描述 城市裡有3000條橫向的道路和3000條縱向的道路,分別從1開始編號知道3000,。相鄰兩條平行道路的間距為1。 我們用(x,y)表示第x號橫向道路和第y號縱向道路。N個需要送快遞的點坐落在這些交點上。小Q只能沿著這些道路送快遞,而且只能在道路的交叉點改變方向。

2018 迅雷程式設計

第一題,就是找素勾股數,一開始想到用公式直接算,交上去沒能全部通過,後面腦子一熱,就直接暴力了一發,算是N*N的複雜度,結果就AC了,感覺筆試都是用的銀河計算機??? #include<algorithm> #include<iostream>

遊歷魔法王國_2018

遊歷魔法王國時間限制:1秒空間限制:32768K魔法王國一共有n個城市,編號為0~n-1號,n個城市之間的道路連線起來恰好構成一棵樹。小易現在在0號城市,每次行動小易會從當前所在的城市走到與其相鄰的一個

2018筆試程式設計1——最少安裝路燈數

網易筆試第一題,思考了一會兒把自己給繞進去了,想明白了不難分兩種情況討論:        1、<=3的情況,有需要被照亮的地方則安裝1個路燈即可        2、>3的情況,從第二個格子開始遍歷(i=1),去尋找需要被照亮的格子(這裡看當前格子的前一個格子i=0

2018- 魔法幣

小易準備去魔法王國採購魔法神器,購買魔法神器需要使用魔法幣,但是小易現在一枚魔法幣都沒有, 但是小易有兩臺魔法機器可以通過投入x(x可以為0)個魔法幣產生更多的魔法幣。 魔法機器1:如果投入x個魔法

2018內推-小喜歡的數列

題目描述: 小易非常喜歡擁有以下性質的數列: 1、數列的長度為n 2、數列中的每個數都在1到k之間(包括1和k) 3、對於位置相鄰的兩個數A和B(A在B前),都滿足(A <= B)或(A mod B != 0)(滿足其一即可) 例如,當n = 4