算法筆記重點(6)進制轉換

這裏想到進制轉換是爲了之後的Hash學習做準備。

m進制轉換爲十進制

#include<cstdio>
#include<cmath>

int main()
{
    int m,n,id=0;
    scanf("%d %d",&m,&n);
    for(int i=0;n>0;i++)
    {
        id=id+n%10*pow(m,i);
        n/=10;
    }
    printf("%d",id);
    return 0;
}

十進制轉換爲m進制

#include<cstdio>
#include<cmath>
#include<stack>
using namespace std;

int main()
{
    int m,n;
    stack<int>s;
    scanf("%d %d",&m,&n);
    if(n==0)
    {
        printf("0");
        return 0;
    }
    while(n)
    {
        s.push(n%m);
        n/=m;
    }
    while(!s.empty())
    {
        printf("%d",s.top());
        s.pop();
    }
    return 0;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章