PAT 乙級 1094 谷歌的招聘 (20分)---【素數 字串】
自然常數 e 是一個著名的超越數,前面若干位寫出來是這樣的:e = 2.718281828459045235360287471352662497757247093699959574966967627724076630353547594571382178525166427427466391932003059921… 其中粗體標出的 10 位數就是答案。
本題要求你程式設計解決一個更通用的問題:從任一給定的長度為 L 的數字中,找出最早出現的 K 位連續數字所組成的素數。
輸入格式:
輸入在第一行給出 2 個正整數,分別是 L(不超過 1000 的正整數,為數字長度)和 K(小於 10 的正整數)。接下來一行給出一個長度為 L 的正整數 N。
輸出格式:
在一行中輸出 N 中最早出現的 K 位連續數字所組成的素數。如果這樣的素數不存在,則輸出 404。注意,原始數字中的前導零也計算在位數之內。例如在 200236 中找 4 位素數,0023 算是解;但第一位 2 不能被當成 0002 輸出,因為在原始數字中不存在這個 2 的前導零。
輸入樣例 1:
20 5
23654987725541023819
輸出樣例 1:
49877
輸入樣例 2:
10 3
2468024680
輸出樣例 2:
404
思路:
1.用字串輸入一連串數字,再用stoi()轉換,用substr()取數字
2.最後輸出的是字串,不是數字
3.素數函式
注意:
1.素數 迴圈範圍
for(int i = 0; i*i <= n; i++)
不符合就return false
,迴圈結束,才return true
程式碼:
#include<bits/stdc++.h>
using namespace std;
bool isprime(int n){
if(n==0 || n==1)
return false;
for(int i = 2; i*i <= n; i++){
if(n%i == 0)
return false;
}
return true;
}
int main(){
int l;
int k;
string s;
cin>>l>>k>>s;
for(int i = 0; i <= l-k; i++){
int num = stoi(s.substr(i,k));
if(isprime(num)){
cout<<s.substr(i,k);
return 0;
}
}
cout<<"404";
return 0;
}
相關文章
- 【PAT乙級、C++】1024 科學計數法 (20分)C++
- 【PAT乙級】1048 數字加密加密
- PAT乙級——1093(字串匹配)Java實現字串匹配Java
- PAT 2023 冬 乙 方格填數
- PAT乙級1004 成績排名 (20分)(C語言版)及解析C語言
- PAT1013數素數C++C++
- PAT乙級比賽-互評成績計算
- PAT 甲級 1152 Google Recruitment (20分)GoUI
- PTA乙級_1024 科學計數法 (20分)_pythonPython
- PAT乙 1041 考試座位號 (15分)(C C++)C++
- PAT-B 1048 數字加密【字串】加密字串
- PAT乙級——1092(陣列排序 自定義sort)Java實現陣列排序Java
- Python求解谷歌高速公路招聘廣告:{ 無理數e中前十位連續的素數 }.comPython谷歌
- PAT乙級1026程式執行時間(秒數轉換為時間)(值得學習)
- 1013 數素數 (20分)/c++實現C++
- 【PAT甲級A1084】Broken Keyboard (20分)(c++)C++
- 2022年冬pat乙級考試題目及程式碼解析附部分錯誤原因
- PAT-B 1079 延遲的迴文數【字串+大數加法】字串
- PAT甲級考試題庫題目分類
- 【PAT甲級A1065】A+B and C (64bit) (20分)(c++)C++
- PAT乙級1001 || 害死人不償命的(3n+1)猜想(C語言)C語言
- 素數判定演算法 初級演算法
- 【PAT甲級A1038】Recover the Smallest Number (30分)(c++)C++
- PAT-B 1024 科學計數法【模擬+字串】字串
- L1-028 判斷素數 分數 10
- Python:第6章-2 使用函式求素數和 (20分)Python函式
- PAT甲級1154 Vertex Coloring (25分)|C++實現C++
- PAT-B 1078 字串壓縮與解壓【字串】字串
- PAT-B 1002 寫出這個數 【字串+遞迴列印】字串遞迴
- C++L1-7谷歌的招聘C++谷歌
- PAT甲級1122 Hamiltonian Cycle (25分)|C++實現C++
- PAT-B 1093 字串A+B 【集合】字串
- PAT-B 1029 舊鍵盤【字串】字串
- PAT甲級-1005. Spell It Right (20)各位之和
- ACM 素數ACM
- 表示素數的函式函式
- 2024 秋季PAT認證甲級(題解A1-A4)
- PAT-B 1031 查驗身份證 【字串】字串