搜狗校園招聘筆試

2021-07-22 17:42:36 字數 2078 閱讀 5586

定義兩個大於2的偶數之間的距離,為這兩個數之間質數的個數。從小到大輸入n個大於2的偶數,輸出所有數兩兩之間距離的總和(應該有n*(n-1)/2個距離,輸出總和就好)。

第一行是輸入偶數的個數,最小為2,最大可能到幾萬。之後每行為乙個偶數,最小是4,最大可能是幾百萬,不重複的公升序排列。

輸出資料兩兩間距離的總和,這應該是乙個不小於0的整數。

樣例輸入

346

12

樣例輸出

6

開始我使用二重迴圈算出結果,即下面的**(vec 儲存的是相鄰兩個數之間的距離)

for (long i = 0; i < n - 1; ++i) 

}

但這樣是會超時的。

題目中說給的順序是公升序的,這樣就可以去掉二重迴圈。先算出第乙個數到剩餘所有數的距離之和,然後減去 n - 1 個第乙個數到第二個數的距離,就是第二個數到剩餘所有數的距離之和。

c++ **如下:

#include #include #define maxn 10000010

using namespace std;

// notprime 陣列:1 為合數,0為質數

int notprime[maxn] = ;

int main() }}

long n;

scanf("%ld", &n);

/* 求出相鄰兩個數之間的距離,即之間質數的個數。用 vector 儲存 */

long num, lastnum;

scanf("%ld", &num);

vectorvec;

for (long i = 1; i < n; ++i)

}vec.push_back(count);

}/* 求出結果。

* 本可以使用二重迴圈求出,但那樣是會超時的。

* 這裡先求出第乙個數到剩餘所有數的距離之和,

* 然後將求出的和減去第乙個數到第二個數的距離乘以 n - 1 即為第二個數到後面所有數的距離。

* 按此思想即可算出結果 */

long sum = 0;

long tmp = 0;

for (long i = 0; i < n - 1; ++i)

tmp = sum;

for (long i = 1; i < n - 1; ++i)

printf("%ld\n", sum);

return 0;

}

求乙個字串的最大回文字首長度。回文是指正反方向讀起來都一樣的字串,比如「abcdcba」就是乙個回文。

乙個文字檔案,至少包含乙個位元組。每個位元組是乙個字元。最大長度可能有幾十萬位元組。

最大回文字首的長度。

樣例輸入

sogou

樣例輸出

1

直接求解即可。最開始按完整字串算,即從第乙個字元到最後乙個字元;接著從第乙個字元到倒數第二個字元……如果是回文,直接輸出,然後退出,這樣一定是最長的。

c **如下:

#include #include #define maxn 1000000

char str[maxn];

int main()

if (count > j - count)

}return 0;

}

只是感覺搜狗的筆試好簡單,而且不嚴格。程式設計題可以隨意切出不說,而且選擇題提交後還可以反覆修改……當然,我沒有去鑽這個空子。還有四十分鐘時,就交卷了。

上邊是原**,有幾個多餘的變數,精簡後如下

#include #include #define maxn 1000000

char str[maxn];

int main()

if (count > i - count)

} return 0;

}

2012搜狗校園招聘筆試題

include using namespace std int main unsigned char p unsigned char input int s 0 int temp sizeof input for int i 0 ichar v p i if v 0 s v a i printf d...

2012搜狗校園招聘筆試題

1 下面 中for迴圈共執行了多少次?unsigned short i,j for i 0,j 2 i j i 5,j 7 unsigned short占用2個位元組,當資料範圍到頭了 2 16 1 就又從0開始計數了,這個其實就是兩輛汽車行駛在乙個圓圈裡的汽車追及問題。乙個速度為5,乙個速度為7,...

2012搜狗校園招聘筆試題 1

最近發現了幾個公司招聘的筆試機試題,雖然是兩年前的,但是題目還不錯,所以做了做,下面給出自己對一些題的理解。問題描述 下面 中for迴圈共執行了多少次?unsigned short i,j for i 0,j 2 i j i 5,j 7 問題分析 首先,看到變數i和j都是無符號的整數,我們知道,無符...