日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[网易]2018校园招聘编程题真题集合

發布時間:2024/3/13 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [网易]2018校园招聘编程题真题集合 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目:?
小易準備去魔法王國采購魔法神器,購買魔法神器需要使用魔法幣,但是小易現在一枚魔法幣都沒有,但是小易有兩臺魔法機器可以通過投入x(x可以為0)個魔法幣產生更多的魔法幣。?
魔法機器1:如果投入x個魔法幣,魔法機器會將其變為2x+1個魔法幣?
魔法機器2:如果投入x個魔法幣,魔法機器會將其變為2x+2個魔法幣?
小易采購魔法神器總共需要n個魔法幣,所以小易只能通過兩臺魔法機器產生恰好n個魔法幣,小易需要你幫他設計一個投入方案使他最后恰好擁有n個魔法幣。?
參考答案:

#include <iostream> #include <string> using namespace std;int main() {int n;cin >> n;int start = 0, end = 0;while (end < n){start = 2 * start + 1;end = 2 * end + 2;}while (true){int middle = (start + end) / 2;if (n <= middle){cout << '1';end = middle;}else{cout << '2';start = middle + 1;}if (start == end)break;}cout << endl;return 0; }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34

題目:?
為了得到一個數的”相反數”,我們將這個數的數字順序顛倒,然后再加上原先的數得到”相反數”。例如,為了得到1325的”相反數”,首先我們將該數的數字順序顛倒,我們得到5231,之后再加上原先的數,我們得到5231+1325=6556.如果顛倒之后的數字有前綴零,前綴零將會被忽略。例如n = 100, 顛倒之后是1.?
參考代碼:

#include <iostream> using namespace std;int func(int n) {int temp = n;int len = 0;int pow = 1;while (temp > 0){len++;pow *= 10;temp /= 10;}temp = n;for (int i = 0; i < len; i++){pow /= 10;n += (temp % 10)*pow;temp /= 10;}return n; }int main() {int n;cin >> n;cout << func(n) << endl;return 0; }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

題目:?
一個由小寫字母組成的字符串可以看成一些同一字母的最大碎片組成的。例如,”aaabbaaac”是由下面碎片組成的:’aaa’,’bb’,’c’。牛牛現在給定一個字符串,請你幫助計算這個字符串的所有碎片的平均長度是多少。?
參考代碼:

#include <iostream> #include <string> #include <iomanip> using namespace std;int main() {int count = 0;int len = 0;int start = 0;int i;string s;cin >> s;for (i = 1; i < s.length(); i++){if (s[i] != s[start]){count++;len += i - start;start = i;}}if (s[i - 1] == s[start]){count++;len += i - start;}else{count++;len += 1;}cout << fixed << setprecision(2) << 1.0 * len / count << endl;return 0; }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35

題目:?
小易有一個長度為N的正整數數列A = {A[1], A[2], A[3]…, A[N]}。?
牛博士給小易出了一個難題:?
對數列A進行重新排列,使數列A滿足所有的A[i] * A[i + 1](1 ≤ i ≤ N - 1)都是4的倍數。?
小易現在需要判斷一個數列是否可以重排之后滿足牛博士的要求。?
參考代碼:

#include <iostream> #include <vector> using namespace std;int main() {int t;cin >> t;while (t--){vector<vector<int>> state(3, vector<int>(0));int n;cin >> n;for (int i = 0; i < n; i++){int temp;cin >> temp;if ((temp & 3) == 0){state[2].push_back(temp);}elseif ((temp & 1) == 0){state[1].push_back(temp);}else{state[0].push_back(temp);}}if (state[2].size() >= state[0].size()){cout << "Yes" << endl;}elseif (state[2].size() == state[0].size() - 1){if (state[1].size() == 0){cout << "Yes" << endl;}else{cout << "No" << endl;}}else{cout << "No" << endl;}}return 0; }

總結

以上是生活随笔為你收集整理的[网易]2018校园招聘编程题真题集合的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。