首页 > 代码库 > ZOJ 1078
ZOJ 1078
题目的意思大概是给你一个数,让你判断这个数转为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; }
ZOJ 1078
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。