傳送門
題目說的很清楚了,就是字串提取,然後再判斷是否為素數,找到第乙個並且輸出,找不到就輸出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...