1 条题解

  • 0
    @ 2023-3-13 12:14:19

    C++ :

    #include <bits/stdc++.h>
    using namespace std;
    int a[20]={10,8,9,8,10},p=5;
    void zhuan(int n,int b)
    {
    	while(n!=0)
    	{
    		a[p++]=n%b;
    		n/=b;
    	}
    }
    bool hui()
    {
    	int i;
    	for(i=0;i<p/2;i++) if(a[i]!=a[p-i-1]) return false;
    	return true;
    }
    int main()
    {
    	int n,i,b[40],q=0;
    	cin>>n;
    	for(i=2;i<=36;i++)
    	{	
    		p=0;
    		zhuan(n,i);
    		if(hui()) 
    		{
    			b[q++]=i;
    		}
    	}
    	cout<<q<<endl;
    	for(i=0;i<q;i++) cout<<b[i]<<endl;
    	return 0;
    }
    

    Pascal :

    var a,b:array[1..100000] of longint;
        s1,s2:string;
        n,i,j,m,num,ans:longint;
    begin
      readln(n);
      ans:=0;
      for i:=2 to 36 do
      begin
        m:=n; num:=0;
        while m<>0 do
        begin
          inc(num);
          a[num]:=m mod i;
          m:=m div i;
        end;
        s1:=''; s2:='';
        for j:=1 to num do
        begin
          s1:=s1+chr(a[j]+48);
          s2:=chr(a[j]+48)+s2;
        end;
        if s1=s2 then
        begin
          inc(ans);
          b[ans]:=i;
        end;
      end;
      writeln(ans);
      for i:=1 to ans do
        writeln(b[i]);
    end.
    
    • 1

    信息

    ID
    2156
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者