- 2<=R<=16,且输出对应的数字规格参考16进制,所以可以提前创建数组存储可能输出的字符;
- 注意R的正负数。
-
#include<stdio.h> #define MAXSIZE 10010 char str[20]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}; int main() { int N,R,i,flag; int a[MAXSIZE]; while(~scanf("%d %d",&N,&R)){ i=0; flag=0; if(N<0){ flag=-1; N=-N; } while(N){ a[i++]=N%R; N=N/R; } i=i-1; if(flag==-1) printf("-"); for(i;i>=0;i--) printf("%c",str[a[i]]); printf("\n"); } return 0; }
杭电OJ2031
最新推荐文章于 2024-08-23 06:00:28 发布