1094 谷歌的招聘 20分

2021-10-02 17:43:11 字數 1134 閱讀 1009

傳送門

題目說的很清楚了,就是字串提取,然後再判斷是否為素數,找到第乙個並且輸出,找不到就輸出404。

看起來很簡單吧,但是,要注意一下輸出的時候,題目也說了0023算是解,因此輸出的話必須輸出前導0,不然測試點2會卡死你的!!!

先看一下常規的**

#include

using

namespace std;

int a[

1005];

//判斷素數

bool

isprime

(int x)

else

if(x==

2||x==3)

else

if(x%6!=

5&&x%6!=

1)else}}

return

true;}

intmain()

bool find=

false

;for

(int i=

1;i<=l-k+

1;i++)if

(isprime

(sum))}

if(!find)

return0;

}

接下來再看一種直接呼叫string裡函式的做法,這個裡面涉及到了c++11的內容,就是stoi函式,這個函式是用來字元轉數字的,有三個引數,後面的可省略,第乙個是字串,第二個是開始轉化的位置(預設是0),第三個是從幾進製轉到10進製,比如stoi(str,0,16),str=「f」,答案就為16

還有乙個就是字串擷取的函式substr,第乙個引數是擷取的開始位置,第二個引數是擷取長度,str,substr(1,5),這個意思就是從str字串下標為1處開始擷取,擷取5個字元。

#include

using

namespace std;

boolf(

int x)

else

if(x%6!=

5&&x%6!=

1)else}}

return

true;}

intmain()

} cout<<

404;

return0;

}

PAT 乙級 1094 谷歌的招聘 (20 分)

說一下思路,去參加了這次考試,首先要思路清晰,它要求的是一定長度是否為素數,所以剛開始判斷的時候就應該想到這點。然後我是用字串轉成int,然後判斷是否為素數,因為這裡數量級並不大,不用篩素數。一定要注意邊界 include include include include include includ...

PTA天梯賽 谷歌的招聘C

一,分析題目 從任一給定的長度為 l 的數字中,找出最早出現的 k 位連續數字所組成的素數。題目說的蠻清楚的,素數就是除1和本身以外都除不盡。二,思路尋找 先從頭開始擷取k位連續的數字,然後開始檢查是否為素數,檢查完以後k位連續數向後整體平移一位,繼續檢查,如果首先檢查到為素數就輸出,檢查到最後還不...

谷歌瀏覽器的原始碼分析 20

由於這個瀏覽器是使用多程序的架構來工作的,所以程序之間就需要相互交流,這種交流是就是通訊,可以從原始碼裡看到它是使用ipc的機制來通訊,實際採用的技術,就是windows的命名管道的方式。可以看到這段 001 bool channel createpipe const wstring channel...