2018 騰訊校招筆試程式設計題解答

2021-09-16 12:28:26 字數 1928 閱讀 4900

小q定義了一種數列稱為翻轉數列:

給定整數n和m, 滿足n能被2m整除。對於一串連續遞增整數數列1, 2, 3, 4..., 每隔m個符號翻轉一次, 最初符號為'-';。

例如n = 8, m = 2, 數列就是: -1, -2, +3, +4, -5, -6, +7, +8.

而n = 4, m = 1, 數列就是: -1, +2, -3, + 4.

小q現在希望你能幫他算算前n項和為多少。

輸入描述:

輸入包括兩個整數n和m(2 <= n <= 109, 1 <= m), 並且滿足n能被2m整除。
輸出描述:

輸出乙個整數, 表示前n項和。
輸入例子1:

8 2
輸出例子1:

8
特殊的配對求和問題,比較偏數學,特別注意n和m的範圍

#include using namespace std;

int main()

牛牛和羊羊正在玩乙個紙牌遊戲。這個遊戲一共有n張紙牌, 第i張紙牌上寫著數字ai。

牛牛和羊羊輪流抽牌, 牛牛先抽, 每次抽牌他們可以從紙牌堆中任意選擇一張抽出, 直到紙牌被抽完。

他們的得分等於他們抽到的紙牌數字總和。

現在假設牛牛和羊羊都採用最優策略, 請你計算出遊戲結束後牛牛得分減去羊羊得分等於多少。

輸入描述:

輸入包括兩行。

第一行包括乙個正整數n(1 <= n <= 105),表示紙牌的數量。

第二行包括n個正整數ai(1 <= ai <= 109),表示每張紙牌上的數字。

輸出描述:

輸出乙個整數, 表示遊戲結束後牛牛得分減去羊羊得分等於多少。
輸入例子1:

3

2 7 4

輸出例子1:

5
#include #include using namespace std;

const int n = 100000;

int main()

sort(arr, arr + n,greater());

int sign = 1;

for (int i = 0; i < n; i++)

printf("%lld\n", res);

}

小q的父母要出差n天,走之前給小q留下了m塊巧克力。小q決定每天吃的巧克力數量不少於前一天吃的一半,但是他又不想在父母回來之前的某一天沒有巧克力吃,請問他第一天最多能吃多少塊巧克力

輸入描述:

每個輸入包含乙個測試用例。

每個測試用例的第一行包含兩個正整數,表示父母出差的天數n(n<=50000)和巧克力的數量m(n<=m<=100000)。

輸出描述:

輸出乙個數表示小q第一天最多能吃多少塊巧克力。
輸入例子1:

3 7
輸出例子1:

4
二分搜尋的方法,二分搜尋要特別注意條件的寫法,以及最後答案的判斷,這裡還需要注意向上取整和向下取整的概念。

#include using namespace std;

bool can(int n,int m,int num)

return res <= m;

}int main()

cout << right << endl;

}

網易2018校招筆試程式設計題

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

京東2015校招筆試程式設計題

醜數問題,在 劍指offer 一書的182頁有詳細討論。簡單來說,就是 新的醜數總是以前的某個醜數乘以2 3或5產生,那麼分別用三個指標p2 p3和p5指向乘以2 3和5後能生成新的醜數的醜數,那麼下乙個醜數就是它們生成的新的醜數中最小的乙個。public static int kthnumber ...

華為2020校招筆試程式設計題

剛做完華為的筆試題,簡要描述一下三道程式設計題的解決方法以及python 實現 第一題大致描述 給定兩個已經公升序排序好的的序列a 和b 乙個數r,找出滿足以下條件的的 ai,bj 序列對 1.ai bj 2.bj和ai兩者的距離 滿足 bj ai r 要是該條件不滿足,就從序列b中找出 和ai 距...