1094 谷歌的招聘 (20 分)

2004 年 7 月,谷歌在硅谷的 101 號公路邊豎立了一塊巨大的廣告牌(如下圖)用于招聘。內容超級簡單,就是一個以 .com 結尾的網址,而前面的網址是一個 10 位素數,這個素數是自然常數 e 中最早出現的 10 位連續數字。能找出這個素數的人,就可以通過訪問谷歌的這個網站進入招聘流程的下一步。

prime.jpg

自然常數 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
#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;bool isPrime(int x){if(x == 0 || x == 1) return false;int sqr = (int)sqrt(x*1.0);for(int i = 2; i <= sqr; i++){if(x%i == 0) return false;}return true;
}int strToint(string &s){int sum = 0;for(int i = 0; i < s.length(); i++){sum = sum * 10 + s[i] - '0';}return sum;
}int main(){string s;int l,k;cin >> l >> k >> s;//getchar();//cin >> s;for(int i = 0; i <= l - k ; i++){string tmp = s.substr(i,k);//int x = stoi(t);int x = strToint(tmp);//int x = toi(tmp.c_str());if(isPrime(x)){cout << tmp;return 0;}}cout << "404";return 0;
}

?

轉載于:https://www.cnblogs.com/wanghao-boke/p/10458827.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/385108.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/385108.shtml
英文地址,請注明出處:http://en.pswp.cn/news/385108.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Observer觀察者模式

#include <iostream> #include <list> using namespace std;class Observer;class Subject { //抽象被觀察者 public:virtual void Attach(Observer*) 0;virtual void Detach(Observer*) 0;virtual void Notify() 0;virtual int GetState() { return state_; }v…

1093 字符串A+B (20 分)

給定兩個字符串 A 和 B&#xff0c;本題要求你輸出 AB&#xff0c;即兩個字符串的并集。要求先輸出 A&#xff0c;再輸出 B&#xff0c;但重復的字符必須被剔除。 輸入格式&#xff1a; 輸入在兩行中分別給出 A 和 B&#xff0c;均為長度不超過 10?6??的、由可見 ASCII 字符…

1095 解碼PAT準考證 (25 分)

PAT 準考證號由 4 部分組成&#xff1a; 第 1 位是級別&#xff0c;即 T 代表頂級&#xff1b;A 代表甲級&#xff1b;B 代表乙級&#xff1b;第 2~4 位是考場編號&#xff0c;范圍從 101 到 999&#xff1b;第 5~10 位是考試日期&#xff0c;格式為年、月、日順次各占 2 位&am…

《基礎算法》

序號內容1工廠模式2觀察者模式3單例模式4策略模式5memcpy、memmove6strpcy7strcat8strcmp9快速排序算法10歸并排序算法11堆排序算法

C++ STL之Vector

向量 vector 是一種對象實體, 能夠容納許多其他類型相同的元素, 因此又被稱為容器。 vector 屬于STL(Standard Template Library, 標準模板庫)中的一種自定義的數據類型, 可以廣義上認為是數組的增強版。vector是C用于數組類的容器&#xff0c;它可以被近似的認為是一個自動增長…

字符流中第一個不重復的字符

題目描述 請實現一個函數用來找出字符流中第一個只出現一次的字符。例如&#xff0c;當從字符流中只讀出前兩個字符"go"時&#xff0c;第一個只出現一次的字符是"g"。當從該字符流中讀出前六個字符“google"時&#xff0c;第一個只出現一次的字符是&q…

C++ STL之Set

set是關聯容器&#xff0c;類似于集合。 特點是里面的元素不會重復&#xff0c;而且元素時有序的。 1.聲明定義&#xff1a; #include<set>using namespace std;set<int> s; 2.常見用法 s.inert(5); //插入 s.begin(); //返回s的第一個元素 s.end(); // 返回最后一…

表示數值的字符串

題目描述 請實現一個函數用來判斷字符串是否表示數值&#xff08;包括整數和小數&#xff09;。例如&#xff0c;字符串"100","5e2","-123","3.1416"和"-1E-16"都表示數值。 但是"12e","1a3.14","…

數據庫簡單實用(一)

一、實驗環境&#xff1a; MySQL 2.7.22 xfce終端 二、開發準備 打開MySQL服務并使用root登錄 sudo service mysql start //打開mysql服務 mysql -u root //使用root用戶登錄&#xff0c;密碼為空 -u和root之間可以不用空格 三、實驗步驟 //如果在操作中忘掉&#xff1b;可以使…

lambda 表達式定制操作

泛型算法中的定制操作 許多算法都會比較輸入序列中的元素以達到排序的效果&#xff0c;通過定制比較操作&#xff0c;可以控制算法按照編程者的意圖工作。 普通排序算法&#xff1a;template<class RandomIterator> void sort(RandomIterator first,RandomIterator last)…

包含min函數的棧

題目描述 定義棧的數據結構&#xff0c;請在該類型中實現一個能夠得到棧中所含最小元素的min函數&#xff08;時間復雜度應為O&#xff08;1&#xff09;&#xff09;。 解法&#xff1a; class Solution { public:stack<int> s;stack<int> s_min;void push(int v…

01-復雜度3 二分查找 (20 分)

本題要求實現二分查找算法。 函數接口定義&#xff1a; Position BinarySearch( List L, ElementType X );其中List結構定義如下&#xff1a; typedef int Position; typedef struct LNode *List; struct LNode {ElementType Data[MAXSIZE];Position Last; /* 保存線性表中最后…

二叉樹的鏡像

題目描述 操作給定的二叉樹&#xff0c;將其變換為源二叉樹的鏡像。 輸入描述: 二叉樹的鏡像定義&#xff1a;源二叉樹 8/ \6 10/ \ / \5 7 9 11鏡像二叉樹8/ \10 6/ \ / \11 9 7 5 解法&#xff1a; /* struct TreeNode {int val;struct TreeNode *left;struct Tre…

01-復雜度1 最大子列和問題 (20 分)

給定K個整數組成的序列{ N?1??, N?2??, ..., N?K?? }&#xff0c;“連續子列”被定義為{ N?i??, N?i1??, ..., N?j?? }&#xff0c;其中 1≤i≤j≤K。“最大子列和”則被定義為所有連續子列元素的和中最大者。例如給定序列{ -2, 11, -4, 13, -5, -2 }&#x…

300. 最長上升子序列

給定一個無序的整數數組&#xff0c;找到其中最長上升子序列的長度。 示例: 輸入: [10,9,2,5,3,7,101,18] 輸出: 4 解釋: 最長的上升子序列是 [2,3,7,101]&#xff0c;它的長度是 4。 說明: 可能會有多種最長上升子序列的組合&#xff0c;你只需要輸出對應的長度即可。 你算法…

02-線性結構1 兩個有序鏈表序列的合并 (15 分)

本題要求實現一個函數&#xff0c;將兩個鏈表表示的遞增整數序列合并為一個非遞減的整數序列。 函數接口定義&#xff1a; List Merge( List L1, List L2 );其中List結構定義如下&#xff1a; typedef struct Node *PtrToNode; struct Node {ElementType Data; /* 存儲結點數據…

50. Pow(x, n)

實現 pow(x, n) &#xff0c;即計算 x 的 n 次冪函數。 示例 1: 輸入: 2.00000, 10 輸出: 1024.00000 示例 2: 輸入: 2.10000, 3 輸出: 9.26100 示例 3: 輸入: 2.00000, -2 輸出: 0.25000 解釋: 2-2 1/22 1/4 0.25 說明: -100.0 < x < 100.0 n 是 32 位有符號整數&…

01-復雜度2 Maximum Subsequence Sum (25 分)

Given a sequence of K integers { N?1??, N?2??, ..., N?K?? }. A continuous subsequence is defined to be { N?i??, N?i1??, ..., N?j?? } where 1. The Maximum Subsequence is the continuous subsequence which has the largest sum of its elements.…

進制轉換習題

題目&#xff1a;進制轉換 解法&#xff1a; #include <iostream> #include <vector> #include <algorithm> using namespace std; long long nums, k;void solution(long long nums, long long k) {vector<int> res;while(nums){long long curr nu…

02-線性結構2 一元多項式的乘法與加法運算 (20 分)

設計函數分別求兩個一元多項式的乘積與和。 輸入格式: 輸入分2行&#xff0c;每行分別先給出多項式非零項的個數&#xff0c;再以指數遞降方式輸入一個多項式非零項系數和指數&#xff08;絕對值均為不超過1000的整數&#xff09;。數字間以空格分隔。 輸出格式: 輸出分2行&…