3 条题解
-
1
#include<bits/stdc++.h> using namespace std; int a[9999];//a是素数列表 bool pd(int x){//判断素数 bool l=true; if(x==1||x==0) l=false; else{ for(int i=2;i<x;i++){ if(x%i==0){ l=false; break; } } } return l; } bool cc(int y){//在素数基础上判断纯粹素数 bool n=true; int k=1000; while(k){ if(pd(y)==false){ n=false; break; } y=y%k; k=k/10; } return n; } int main(){ int g=0;//素数个数 for(int i=1000;i<=3000;i++) if(pd(i)) a[++g]=i;//保存素数 for(int i=1;i<=g;i++) if(cc(a[i])) cout<<a[i]<<endl; return 0; }
-
1
#include <iostream> #include <cmath> using namespace std; bool check(int n) { bool r=true; int i; for(i=2;i<=sqrt(n);i++) { if(n%i==0) { r=false; break; } } if(n<=1) { r=false; } return r; } void final_check() { int a,b,c,i; for(i=1000;i<=3000;i++) { a=i%1000; b=i%100; c=i%10; if(check(i)==true&&check(a)==true&&check(b)==true&&check(c)==true) { cout<<i<<endl; } } } int main() { final_check(); }
-
0
#include<bits/stdc++.h> using namespace std; bool s(int n) { bool r=true;//如果没有因数并且n不是1和0,这时返回值为true int i; for(i=2;i<=sqrt(n);i++) { if(n%i==0)//判断是否有因数 { r=false;//有因数就把r标记为false,结束循环 break; } } if(n<=1)//1和0都不是是素数 { r=false; } return r; } int main() { for(int i=1000;i<3000;i++) { if(s(i)&&s(i%1000)&&s(i%100)&&s(i%10)) { cout<<i<<endl; } } return 0; }
- 1
信息
- ID
- 137
- 时间
- 1000ms
- 内存
- 16MiB
- 难度
- 6
- 标签
- 递交数
- 81
- 已通过
- 28
- 上传者