1 条题解
-
0
C++ :
#include<iostream> using namespace std; int a[5000005]={}; bool huiwen(int x[],int len); bool jinzhi(int x[],int v,int j); int main() { int i,j,k,l=0,n,s; cin>>n>>s; for(i=s+1;i<10000;i++){ k=0; for(j=2;j<=10;j++){ if(jinzhi(a,i,j)) { k++; } if(k>=2) { break; } } if(k>=2) { cout<<i<<endl; l++; } if(l==n) break; } return 0; } bool jinzhi(int x[],int v,int j){ int len=0; while(v!=0){ x[len]=v%j; v=v/j; len++; } return huiwen(x,len); } bool huiwen(int x[],int len) { int i; for(i=0;i<len/2;i++){ if(x[i]!=x[len-1-i]) return false; } return true; }
Pascal :
var s:string; n,i,j,k,x:longint; f:array [0..300] of longint; procedure zh(x,n:longint); var i,j:longint; begin i:=0; while x<>0 do begin inc(i); f[i]:=x mod n; x:=x div n; end; f[0]:=i; end; function back:boolean; var i,j:longint; begin i:=1;j:=f[0]; repeat if f[i]<>f[j] then exit(false); inc(i); dec(j); until i>f[0] div 2; back:=true; end; begin readln(n,x); s:='0123456789ABCDEFGHIJK'; i:=0; repeat inc(x);k:=0; for j:=2 to 10 do begin zh(x,j); if back then inc(k); if k>=2 then break; end; if k>=2 then begin writeln(x); inc(i); end; until i=n; end.
- 1
信息
- ID
- 3255
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者