PAT 甲级 1152

是一道很简单的判断素数问题,但是有个坑是必须把前置零也输出来,而不是只输出有效数字,所以还是用iostream+string写着方便

#include<iostream>
#include<string>
using namespace std;
int l,k;
string str;
bool isPrime(int x)
{
if(x==0||x==1) return false;
for(int i=2;i*i<=x;i++)
if(x%i==0) return false;
return true;
}
int main()
{
cin>>l>>k>>str;
for(int i=0;i<=l-k;i++)
{
string ans=str.substr(i,k);
int num=str.stoi(i,k);
if(isPrime(num))
{
cout<<ans;
return 0;
}
}
printf("404");
return 0;
}

posted @ 2020-03-03 23:54  恰米  阅读(147)  评论(0)    收藏  举报