文档章节

大数任意进制转换模板

o
 osc_mervd488
发布于 2018/04/23 13:03
字数 283
阅读 7
收藏 0

精选30+云产品,助力企业轻松上云!>>>

第一种(大数)

#include<iostream>

#include<cstring>
using namespace std;
const int MAXN = 1000;
int  t[MAXN], A[MAXN];
char OldData[MAXN], NewData[MAXN];  // 转换前、后的数据
int olds, news;                     // 转换前、后的进制


// 调用方式:输入olds、news、OldData,然后调用trans(),输出NewData
void trans()
{
    int i, len, k;
    len = strlen(OldData);
    for(i=len; i>=0; --i)
        t[len-1-i] = OldData[i] - (OldData[i]<58 ? 48 : OldData[i]<97 ? 55 : 61);
    for(k=0; len;)
    {
        for(i=len; i>=1; --i)
        {
            t[i-1] += t[i]%news*olds;
            t[i] /= news;
        }
        A[k++] = t[0] % news;
        t[0] /= news;
        while(len>0 && !t[len-1]) --len;
    }
    NewData[k] = NULL;
    for(i=0; i<k; ++i)
        NewData[k-1-i] = A[i] + (A[i]<10 ? 48 : A[i]<36 ? 55 : 61);
}
int main()
{
    cin>>OldData>>olds>>news;
    trans();
    cout<<NewData<<endl;
}

第二种(大数)

#include<iostream>
#include<string.h>
using namespace std;
int a,b,c,d,x;
string s1,s2,yu;
void zhuan()
{
       int chu=0,shang;
       s2="";
       for (a=0;a<s1.size();a++)
       {
           chu=chu*10+(s1[a]-'0');
           shang=chu/x;
           if (shang!=0 || s2!="")
           {
              s2+=(char)(shang+'0');
           }
           chu=chu%x;
       }
       yu=(char)(chu+'0')+yu;
       if (s2=="") s2="0";
       s1=s2;
}
void suan(char x)
{
     if (x-'0'>=0 && x-'0'<=9) {cout<<x-'0'; return;}
     cout<<(char)('A'+x-'0'-10);
}
int main()
{
    //转X进制
    while (cin>>x>>s1)
    {
          yu="";
          while (s1!="0")
          {
                zhuan();
           }
           for (a=0;a<yu.size();a++) suan(yu[a]);
           cout<<endl;
    }
}

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。

暂无文章

dict.items()和dict.iteritems()有什么区别?

问题: Are there any applicable differences between dict.items() and dict.iteritems() ? dict.items()和dict.iteritems()之间是否有适用的区别? From the Python docs: 从Python文档中......

法国红酒甜
47分钟前
20
0
R中“ =”和“ <-”赋值运算符有什么区别?

问题: What are the differences between the assignment operators = and <- in R? R中赋值运算符=和<-之间有什么区别? I know that operators are slightly different, as this example ......

fyin1314
今天
20
0
之间的区别 和

问题: I'm learning Spring 3 and I don't seem to grasp the functionality behind <context:annotation-config> and <context:component-scan> . 我正在学习Spring 3,并且似乎不太了解<......

javail
今天
15
0
业内首款,百度工业视觉智能平台全新亮相

本文作者:y****n 业内首款全国产化工业视觉智能平台——百度工业视觉智能平台亮相中国机器视觉展(Vision China),该平台所具有的核心AI能力完全自主可控,在质检、巡检等场景中具有高效、...

百度开发者中心
昨天
7
0
我们如何制作xkcd样式图? - How can we make xkcd style graphs?

问题: Apparently, folk have figured out how to make xkcd style graphs in Mathematica and in LaTeX . 显然,民间已经想出了如何在Mathematica和LaTeX中制作xkcd风格的图形。 Can we d......

富含淀粉
今天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部