数据结构—递归实现十进制装换为任意进制
代码:
#include <stdio.h>
#include <stdlib.h>
#include"stack.h"
stack Stack;
void toAnyDigit(int n, int d) {//十进制转化为d进制if (n == 0) {//递归结束的条件return;}int temp = n % d;push(Stack, temp);n = n / d;toAnyDigit(n, d);//递归实现
}
int main() {init(Stack);int n, d;printf("输入数字和要计算为的进制:");scanf_s("%d%d", &n, &d);toAnyDigit(n, d);//计算d进制printStack(Stack);//遍历system("pause");return 0;
}
测试截图:
时间复杂度O(n),空间复杂度O(n)
彩蛋:可推广到任意进制转化为任意进制!