ZOJ 1078

来源:互联网 发布:龙骑士 知乎 编辑:程序博客网 时间:2024/06/16 14:59

题目的意思大概是给你一个数,让你判断这个数转为2到16进制的数是否为回文数,如果是的话直接输出转的进制数。。果然基础差的不行,各种错误,写了40多分钟,最后格式还错了两遍。!!直接上代码吧。


#include <stdio.h>int main(){int n,i,j,l,p,sum,pp,k,m,ppppp;int a[1000],b[1000];while(scanf("%d",&n)&&n){ppppp=0;pp=0;for(i=2;i<=16;i++){ m=n;sum=0;p=0;while(m!=0){a[p++]=m%i;m/=i;}l=p;for(k=0;k<l/2;k++){if(a[k]!=a[l-1-k])break;}if(k==l/2){sum++;}if(sum){b[pp++]=i;sum=0;ppppp=1;}}if(ppppp){printf("Number %d is palindrom in basis",n);for(i=0;i<pp;i++){printf(" %d",b[i]);}printf("\n");}else{printf("Number %d is not a palindrom\n",n);}}return 0;}


0 0
原创粉丝点击