解题思路:运用字符串取子串的函数,来不断进行去除第一个数字,然后将子串转化为整形判断是否为素数
#include<bits/stdc++.h>
using namespace std;
bool sushu(int a){
if(a==0||a==1)
return false;
for(int i=2;i<sqrt(a);i++){
if(a%i==0)
return false;
}
return true;
}
int main(){
string s;
bool flag=true;
cin>>s;
int l=s.size();
while(l>=1){
string s1=s;
int num=stoi(s1);
if(sushu(num)==true)
cout<<s<<" "<<"Yes"<<endl;
else{
cout<<s<<" "<<"No"<<endl;
flag=false;
}
s=s.substr(1);
l=s.size();
}
if(flag)
cout<<"All Prime!"<<endl;
}
运行结果: