1 solutions
-
0
C++ :
#include<iostream> #include<cstdlib> #include<cstdio> #include<cstring> using namespace std; int a[10000]; int l1,l2; int hw()//判断回文的函数拉 { for (int i=1;i<=l1/2;i++) if (a[i]!=a[l1-i+1]) return 0; return 1; } int pd(int k,int n)//转化进制的小函数 { l1=0; do { a[++l1]=k%n; k/=n; } while (k!=0); return 0; } int main() { int n,m; cin>>n>>m; int i=m+1;//这里要注意!!! int k=0; while(k<n)//K是记输出了几个数的计数器 { int ans=0; for(int j=2;j<=10;j++)//从二进制到十进制一一枚举 { memset(a,0,sizeof(0));//每次记得把这个数组清零 pd(i,j); if(hw()==1) { ans++; } } if(ans>=2)//如果有两种以上的进制是回文的,那么输出,K++ { cout<<i<<endl; k++; } i++; } return 0; }
- 1
Information
- ID
- 9981
- Time
- 1000ms
- Memory
- 128MiB
- Difficulty
- (None)
- Tags
- # Submissions
- 0
- Accepted
- 0
- Uploaded By