3 条题解
-
2
-
1
打表解决烦恼(绝对不是我不会做)
#include <cstdio> int a[781] , l , r ; //一共只有780个,这就是我打表的资本 inline void get(){ 表自己打 } int main(){ get() ; 表会打了,自己写过程 return 0 ; } /* 打表部分 调用;定义数据不教 bool F(int a){ //判断是不是回文数 int num[12] , r = 0; while(a) num[r ++] = a % 10 , a /= 10 ; r -- ; for(int l = 0 ; l <= r ; l ++ , r --) if(num[l] != num[r]) return false ; return true ; } int main(){ freopen("out.txt" , "w" , stdout) ; //放一文件中好复制 unprime[0] = unprime[1] = 1; n = reader() ; //筛+判断 for(int i = 2 ; i <= n ; i ++){ if(!unprime[i]){ primes[pi++] = i; if(F(i)){ //输出的是a[n] = x的格式 //方便复制 printf("a[%d] = %d " , al ++ , i) ; if(al % 10 == 0) printf(";\n "); else printf(" , "); } } for(int j = 0 ; j < pi && (i * primes[j]) <= n; j ++){ unprime[i*primes[j]] = 1; if(i % primes[j] == 0) break; } } return 0 ; }*/
-
0
#include<bits/stdc++.h> using namespace std; int l,r;//大佬们写题解一定要写完整啊,本代码可以直接使用,肯定AC @XTL bool weishu(int x){ if((1000<=x&&x<=9999)||(100000<=x&&x<=999999)) return 0; return 1; } bool hws(int x){ int a[20],flag=1; while(x>0){ a[flag]=x%10; x/=10; flag++; } for (int i=1;i<=flag/2;i++) if(a[i]!=a[flag-i])return 0; return 1; } bool zs(int x){ if(x==2) return 1; for(int i=2;i<=sqrt(x);i++) if(x%i==0)return 0; return 1; } int main(){ scanf("%d%d",&l,&r); if(l==2) printf("2\n"); if(l%2==0) l++; r=min(9999999,r); for(int i=l;i<=r;i=i+2){ if(weishu(i)==0)continue; if(hws(i)==0)continue; if(zs(i)==0)continue; printf("%d\n",i); } return 0; }
- 1
信息
- ID
- 1603
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 5
- 标签
- 递交数
- 35
- 已通过
- 14
- 上传者