B1152 Google Recruitment (20分)
-
识记部分
//判断素数模板
bool isprime(int x)
{
if(x<=1) return false;
for(int i=2;i<=(int)sqrt(1.0*x);i++)
{
if(x%i==0)
return false;
}
return true;
}
-
从一个字符串中提取长度为k的字符并且化为整形
#include<cmath>
stoi(s.substr(j,m)))
错误代码
//int会超整型
int sum=0;
for(int i=j;i<j+m;j++)
{
sum=sum*10+str-'0';
}
#include<bits/stdc++.h>
#include<iostream>
#include<string>
#include<cmath>
using namespace std;
bool isprime(int x)
{
if(x<=1) return false;
for(int i=2;i<=(int)sqrt(1.0*x);i++)
{
if(x%i==0)
return false;
}
return true;
}
int main()
{
string s;
int len,m;
cin>>len>>m;
cin>>s;
int flag=0;
for(int j=0;j<=len-m;j++)
{
if(isprime(stoi(s.substr(j,m))))
{
cout<<s.substr(j,m);
flag=1;
break;
}
}
if(flag==0)
printf("404\n");
return 0;
}
网友评论