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

谷歌的招聘

题目就自己上链接看吧
刚开始因为没有注意保持要求的输出位数,第三个测试点通不过。
比如输入为:

6 4
200236 

虽然答案应该是23,但是你得输出0023,就是这么个原因。
加了两句就OK了

cout.width(K);
cout.fill('0');

以下是AC的代码

#include <iostream>
#include <cstring>
#include <cmath>
#include <iomanip>
using namespace std;
bool IsPrime(long long num){
   
    if (num <= 1)return false;
    for (unsigned int i = 2; i <= sqrt(num); i++)
        if (!(num % i))    return false;    
    return true;
}
int main(){
   
    string str;
    unsigned int L, K;
    cin >> L >> K >> str;
    for (int i = 0; i < L - K + 1; i++){
   
        string tt = str.substr(i, K);
        auto tmp = atoi(tt.c_str());
        if (IsPrime(tmp){
   
            cout.width(K);
            cout.fill('0');
            cout << tmp << endl;
            return 0;
        }
    }
    cout << "404" << endl;
    return 0;
}
全部评论

相关推荐

喜欢核冬天的哈基米很想上市:会爆NullPointerException的
点赞 评论 收藏
分享
如题,他是要劝退我了吗
椛鸣:根据你的时间 来给你安排任务 如果你时间长 可能会参与到一些长期的项目 时间短 那就只能做点零工
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务