89化成5进制

来源:百度知道 编辑:UC知道 时间:2024/07/04 02:30:08
89化成5进制

324

#include <iostream>
using namespace std;
int a[100];
void func5(int x)//x此处是10进制数,转化成五进制
{
int i=0;
while(x!=0)
{
a[i]=x%5;
x/=5;
i++;
}
for(int k=i-1;k>=0;k--)
{
cout<<a[k];
}
cout<<endl;
}
void main()
{
int n=89;
func5(n);
}

做短除:
89/5=17余4
17/5=3余2
3/5=0余3
之后从下往上写就行了。

原理: N=(N div d)*d +N mod d

s是新建的一个栈
while(N)
{
push(s,N % 5);
N=N/8;
}
while (!stackempty(s))
{pop(s,e);
printf("%d",e);
}