Time Limit: 1000 ms Memory Limit: 65536 KiB
Problem Description
输入一个十进制非负整数,将其转换成对应的 R (2 <= R <= 9) 进制数,并输出。
Input
第一行输入需要转换的十进制非负整数; 第二行输入 R。
Output
输出转换所得的 R 进制数。
Sample Input
1279 8Sample Output
2377Hint
Source
#include <bits/stdc++.h> using namespace std; typedef struct node { int *top; int *base; }Stack; void initstack(Stack &S) { S.base = (int *)malloc(100*sizeof(int*)); S.top = S.base; } void fx(int n, int m, Stack S) { if(n==0) printf("%d\n", n); else { while(n) { *S.top = n%m; S.top++; n = n/m; } while(S.top!=S.base) { S.top--; printf("%d", *S.top); } printf("\n"); } } int main() { Stack S; int n, m; initstack(S); scanf("%d%d", &n, &m); fx(n, m, S); return 0; }