问题
1.初始化位置
2.进制转化方法
3.空格问题
4.s数组初始化!!!!
5.以及最后空行问题!!!
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int a[999];
int s[999];
int main()
{
int n,i,m,len,j;
while(cin>>n&&n!=0){
memset(s,0,sizeof(s));
for(i=2;i<=16;i++){
m=n;
len=0;
memset(a,0,sizeof(a));
while(m){
a[len++]=m%i;
m/=i;
}
for(j=0;j<len/2;j++){
if(a[j]!=a[len-j-1]){
s[i]=1;
break;
}
}
}
int flag=1;
for(i=2;i<=16;i++){
if(s[i]==0){
flag=0;
}
}
if(flag==1){
cout<<"Number "<<n<<" is not a palindrom";
}
else{
printf("Number %d is palindrom in basis",n);
for(i=2;i<=16;i++){
if(s[i]==0)
printf(" %d",i);
}
}
if(n)
printf("\n");
}
return 0;
}