#include<bits/stdc++.h> using namespace std; void show(int,int); bool jud(int); void go(); #define max 10000 int shuju[max],num = 0; int fin[max] = { },op = 0; int main(){ int a ,b; cin>>a>>b; show(a,b); go(); int k = 1; for(int i = 0;i < op ;i++){ if(fin[i+1] == 0 ){ printf("%6d",fin[i]); break; } else if(k==5){ printf("%6d\n",fin[i]); k = 0; }else printf("%6d",fin[i]); k++; } return 0; } void show(int a,int b){ for(int i = a;i <= b;i++ ){ if(jud(i)) shuju[num++] = i; } } bool jud(int n){ if(n==1) return false; int op = (int)(sqrt(n)); for(int i = 2;i<=op;i++){ if(n%i==0) return false; } return true; } void go(){ int temp ,gao,low,w,q; for(int i = 0;i<num;i++){ temp = shuju[i]; if(temp < 100){ gao = temp/10; low = temp%10; if(gao==low) fin[op++] = temp; }else if( temp >= 100 && temp<1000 ){ gao = temp/100; low = temp%10; if(gao==low) fin[op++] = temp; }else if(temp>=10 && temp<10000){ gao = temp/1000; low = temp%10; w = (temp/10)%10; q = (temp/100)%10; if(gao==low && w==q ) fin[op++] = temp; } } } |
Double click to view unformatted code.