1. 程式人生 > >網易2017運維工程師筆試題(程式題)——山寨題解

網易2017運維工程師筆試題(程式題)——山寨題解

第一題

題意:某人想買n個蘋果,水果攤只有6個一袋和8個一袋兩種售賣方式,問是否能按袋買進正好湊足n個,如果可以,輸出最少包數,不可以則輸出-1。
題解:跟藍橋杯初賽題目難度類似。排列問題,n規模很小,不超過100,深搜一下,每層遞迴儲存剩餘蘋果數目,先嚐試放8個,如果無解再嘗試放6個,到某層如果剩餘數目為0則滿足條件,輸出層數後返回。
程式碼:

#include <cstdio>
#include <stack>
#include <iostream>
#include <algorithm>
using namespace std;
int
_stack[100], top; bool dfs(int rest, int k) { if(rest < 0) return false; else if(rest == 0) { printf("%d\n", k); return true; } _stack[k] = 8; if(dfs(rest - 8, k + 1)) return true; _stack[k] = 6; if(dfs(rest - 6, k + 1)) return true; return false; } int
main() { int n; cin >> n; if(!dfs(n, 0)) printf("-1\n"); return 0; }

第二題

題意:給出圓的半徑的平方(整數)n,求落在圓上的橫縱座標均為整數的點的數目。
題解:從0開始列舉橫座標點,平方後和n作差,判斷縱座標是否為平方數,如果是則計數。最終數乘以4就接近答案了(相當於列舉的是1/4圓上的點),需要注意的是橫座標軸上如果存在點則需要減去一次,不然會多出4。
程式碼:

#include <cstdio>
#include <algorithm>
#include <cmath>
#include <iostream> using namespace std; typedef long long lint; const double eps = 1e-6; int main() { int r2, o = 0, e = 0; lint rst; cin >> r2; for(int i = 0, k; (lint)i * i <= (lint)r2; i++) { rst = (lint)r2 - (lint)i * i; k = int((sqrt(double(rst)) + eps)); if((lint)k*k == rst) { //printf("%d %d\n", i, k); o++; if(!k) e++; } } cout << (o - e) * 4 << endl; return 0; }

第三題

題意:給出一個整數n,求1到n所有數的最大奇數因子的和。
題解:這n個數可以按照含2因子的次數分類(不超過30類),用n / 2^i就可以求出含有2^i的最大奇數k,加上[1, k]內的奇數即可,由於是等差數列可以用公式算出。
程式碼:

#include <cstdio>
#include <iostream>
using namespace std;
typedef long long lint;
int gg[50];
int main()
{
    for(int i = 0; i <= 30; i++)
        gg[i] = (1 << i);
    /// [gg[0], gg[30] ]
    int N;
    cin >> N;
    lint o = 0;
    for(int i = 0, j, k; i <= 30; i++)
    {
        j = N / gg[i];
        if(j == 0) continue;
        if(j % 2 == 0) j--;
        k = j / 2;
        o += ((lint)(1 + j) * j / 2) - (2 * (lint)(1 + k) * k / 2);
    }
    cout << o << endl;
    return 0;
}

相關推薦

2017工程師試題程式——山寨題解

第一題 題意:某人想買n個蘋果,水果攤只有6個一袋和8個一袋兩種售賣方式,問是否能按袋買進正好湊足n個,如果可以,輸出最少包數,不可以則輸出-1。 題解:跟藍橋杯初賽題目難度類似。排列問題,n規模很小,不超過100,深搜一下,每層遞迴儲存剩餘蘋果數目,先嚐試

[84]Linux常見試題填空

1. 在Linux 系統 中,以檔案方式訪問裝置 。 2. Linux 核心引導時,從檔案/etc/fstab中讀取要載入的檔案系統 。 3. Linux 檔案系統中每個檔案用indoe節點來標識。 4. 全部磁碟塊由四個部分組成,分別為引導塊 、專用塊 、 i 節點表塊 和 資料儲存塊 。 5.

大資料社群整理的Linux筆試面試題47

Linux作業系統知識 1. Linux開機啟動流程詳細步驟是什麼?忘記密碼如何破解? 2. 企業中Linux資料庫伺服器做raid幾,你們原來公司的資料庫伺服器大小?RAID 0 1 5 10區別,系統分割槽標準是什麼? 3. 某一天突然發現Linux系統檔案只讀,該怎麼辦呢?寫一下完整操作步驟,

Linux工程師試題第十三套

硬件 消息隊列 多說 提示 per 負載均衡 但是 轉發 -s 這套題的出處是http://blog.51cto.com/nolinux/1670406 ,看到了周末閑著沒事就做一做,答案都是我結合自己的工作得到的,不一定百分百準確,現在拿出來跟各位分享一番。1、請寫出

系統工程師試題總結

1、(單選題)UNIX誕生日是什麼時候( )A 1970年1月1號B 1969年年底C 1991年10月D 1973年 2、 (多選題)Linux典型的檔案系統型別有( )。 A NTFS B ext4 C swap D xfs 3、 (單選題)下面關於列出核心版本命令正確的是( )。A uname -

Linux工程師試題系列330

如果您對問題有疑問,或者認為答案不準確的,歡迎留言交流。 問題如下: 1. 從四個選項選出不同的一個。 A telnet B rsync C wget D scp 2. 在UNIX系統中,目錄結構採用( ) A 單級目錄結構 B 二級目錄結構 C 單純樹形目錄結構 D 帶連結樹形目錄結構 3. Li

資深工程師潘威:MySQL高可用在的最佳應用與實踐

講師介紹:潘威 網易資深系統運維工程師 現任職於網易,負責網易物件儲存服務NOS的運維相關工作; 曾負責過易信、網易視訊雲、網易部落格、LOFTER等產品資料庫,擁有豐富的大型資料庫架構設計與運維實踐經驗。 主題簡介: 1、常見的MySQL高可用架構 2、分散式資料庫高可用實踐 3、基於kee

Linux工程師試題系列713

如果您對問題有疑問,或者認為答案不準確的,歡迎留言交流。 1、如何過濾出已知當前目錄下oldboy中的所有一級目錄(不包含子目錄,即只能是一級目錄) 方法1:find ./ -type d -maxdepth 1 方法2:ls -F 方法3:ls -l  | grep ^d 方法4:ls -F |

Linux工程師試題系列230

如果您對問題有疑問,或者認為答案不準確的,歡迎留言交流。 問題如下: 1. 下列哪個git命令不是合併程式碼用的: A git pull –rebase B git merge C git cherry-pick D git blame 2. linux下偵測主機到目的主機之前所經過的路由的命令。

Linux工程師試題系列630

如果您對問題有疑問,或者認為答案不準確的,歡迎留言交流。 問題如下: 1. cat -n file1file2 命令的意思是? A 只會把檔案file1的內容輸出到螢幕上。 B 把檔案file1和file2連在一起,然後輸出到螢幕上。 C 建立檔案file1和file2 D 把file2的內容輸出到

Linux工程師試題系列130

如果您對問題有疑問,或者認為答案不準確的,歡迎留言交流。 問題如下: 1. Linux下,為某個指令碼賦予可執行許可權() A chmod +x filename.sh B chown +x filename.sh C chmod +r filename.sh D chown +r filename

Linux工程師試題系列430

如果您對問題有疑問,或者認為答案不準確的,歡迎留言交流。 問題如下: 1. linux 系統中,給檔案授予可執行許可權的命令是() A chown B mv C sudo D chmod 2. 有一個檔案ip.txt,每行一條ip記錄,共若干行,下面哪個命令可以實現“統計出現次數最多的前3個ip及其

2019遊戲研發工程師試題

第一題:計算個人所得稅 #include <iostream> using namespace std; int main(){ int t,n,result; float tmp; const float g=0.5000001;

Linux工程師試題系列530

如果您對問題有疑問,或者認為答案不準確的,歡迎留言交流。 問題如下: 1. 建立動態路由需要用到的檔案有() A /etc/hosts B /etc/gateways C /etc/resolv、conf 2. 以下哪些命令可以檢視當前系統的啟動時間() A w B top C ps D uptim

2017年校招試題 最大的奇約數

題目: 定義函式f(x)為x的最大奇數約數,x為正整數,例如f(44) = 11. 現在給出一個N,需要求出f(1) + f(2) + f(3) + ... + f(N) 例如: N = 7 f(1) + f(2) + f(3) + f(4) + f(5) + f(6) + f(7) = 1 + 1

Linux必會的實戰程式設計試題19

以下Linux運維筆試面試程式設計題,彙總整理自老男孩、馬哥等培訓機構,由運維派根據實戰需求,略有調整: 企業面試題1:(生產實戰案例):監控MySQL主從同步是否異常,如果異常,則傳送簡訊或者郵件給管理員。提示:如果沒主從同步環境,可以用下面文字放到檔案裡讀取來模擬: 階段1:開發一個守護程序指令

大公司遊戲遊戲開發工程師試題之做問題

作者:雲夢澤 時間:2013.10.21 出處:宣告: 題目:一次考試,有25人蔘加,有ABC三題,每人至少會做一題,在不會做A的人中,會做B的人是會做C的人的兩倍,在會做A的人中,只會做A的人比其他的少一人,不會做A的人和只會做A的人數相等,問只會做B的有幾人? 個人覺

遊戲2016校園招聘試題

網易線上遊戲是網易公司的一個重要組成部分,在開發實力、產品線和市場佔有率上均是國產網遊的領軍者。正在運營的廣受中國玩家歡迎的遊戲包括《新大話西遊2》、《夢幻西遊2》、《天下3》等等。 小Z一直是網易的粉絲,從網易97年6月成立開始他就一直關注著它的發展,並且玩過幾乎所有的網易遊戲。同時他也是一名數學愛好者,

2019年遊戲暑期實習生招聘試題2018年4月27日第一解答

題目描述:足球比賽的積分排名,一共16支球隊,分為4組,每組4支球隊,小組賽實行單迴圈制,每組一共進行6場比賽,勝者積3分,負者0分,打成平局各得一分,積分相同看淨勝球數,淨勝球多的排名靠前,淨勝球數相同看總進球數,總進球數多的排名靠前,總進球數也相同的球隊,名稱的字母序小的

[88]Linux常見試題選擇題

一、Shell部分 1.在shell 中變數的賦值有四種方法,其中,採用name=12 的方法稱 A 。 A 直接賦值 B 使用read 命令 C 使用命令列引數 D 使用命令的輸出 2.D 命令可以從文字檔案的每一行中擷取指定內容的資料。 A cp B dd C fmt D cut 3.在Shel