题目输入格式:输入在第一行给出 2 个正整数,分别是 L(不超过 1000 的正整数,为数字长度)和 K(小于 10 的正整数)。接下来一行给出一个长度为 L 的正整数 N。输出格式:在一行中输出 N 中最早出现的 K 位连续数字所组成的素数。如果这样的素数不存在,则输出 404。注意,原始数字中的前导零也计算在位数之内。例如在 200236 中找 4 位素数,0023 算是解;但第一位 2 不能被当成 0002 输出,因为在原始数字中不存在这个 2 的前导零。我的代码#include#include#includeusing namespace std;long long int number(char *p,int iK){ long long int number=0; for(int i=1;i<=iK;i++) { int c; c=(*p-'0'); number+=c*pow(10,iK-i); p++; } return number;}long long int prime(long long int n){ if(n<3) { return 0; } if(n==3) { return 1; } for(int i=2;i<=sqrt(n);i++) { if(n%i==0) { return 0;} } return 1; }int main(){ int iL,iK;//输入参数 cin>>iL>>iK; char n[iL]; cin>>n; char *p=n; for(int i=0;i
举报 0