淄博网站制作营销,南同网站建设软件下载,重庆做网站的程序员待遇,新吴区住房和城乡建设部网站题目链接#xff1a;https://www.luogu.org/problem/P2084 P2084 进制转换 题目背景 无 题目描述 今天小明学会了进制转换#xff0c;比如#xff08;10101#xff09;2 #xff0c;那么它的十进制表示的式子就是 : 1*2^40*2^31*2^20*2^11*2^0#xff0c; 那么请你编程实… 题目链接https://www.luogu.org/problem/P2084 P2084 进制转换 题目背景 无 题目描述 今天小明学会了进制转换比如101012 那么它的十进制表示的式子就是 : 1*2^40*2^31*2^20*2^11*2^0 那么请你编程实现将一个M进制的数N转换成十进制表示的式子。 注意当系数为0时该单项式要省略。 输入格式 两个数M和N中间用空格隔开。 输出格式 共一行一个十进制表示的式子。 输入输出样例 输入 #1复制 2 10101 输出 #1复制 1*2^41*2^21*2^0 说明/提示 对于100%的数据1M10N的位数不超过1000。 这道基础题的考点是有关于N进制的转换问题。 关于进制转换我相信学过计算机的人都应有所了解但既然写博客的目的是记录学习过程夯实基础那在这里我还是详细的说一下吧 以二进制转十进制为例 例如101011 其实就是基数为2的幂的和也就是“1*2^5 0*2^4 1*2^3 0*2^2 1*2^1 1*2^0” 公式就是abcd.efg(2)d*20c*21b*22a*23e*2-1f*2-2g*2-310 小数部分暂且说其实就是把幂依次降低 至于十进制转二进制的方法想必不用我多说了吧相信你们都会 1 while(m!0)
2 {
3 a[k]m%2;
4 m/2;
5 } *总的来说 N进制转M进制的方法 ·1.可以先全化成二进制在转换成M进制 简单但复杂 ·2.直接转换麻烦且容易出错的简便 所以这道题你只要懂了进制之间的转换关系其实很简单的。 1 #include cstring2 #include iostream3 4 using namespace std;5 6 int n, len;7 8 string a;9
10 int main()
11 {
12 cin n a;
13 len a.size() - 1;
14 int k 0;
15 for (int i 0; i len; i)
16 if (a[i] 0)
17 k;
18 k len - k;
19 int tmp len;
20 for (int i 0; i len; i)
21 {
22 if (a[i] 0)
23 {
24 tmp--;
25 continue;
26 }
27 else
28 {
29 cout a[i] * n ^ tmp;
30 if (k)
31 {
32 cout ;
33 k--;
34 }
35 tmp--;
36 }
37 }
38 return 0;
39 } 夯实基础认真做好每一道题 作者Gmax 本文版权归作者和博客园共有转载请用链接请勿原文转载Thanks♪(ω) 2019-08-10 abcd.efg(2)d*20c*21b*22a*23e*2-1f*2-2g*2-310 转载于:https://www.cnblogs.com/Gmax/p/11332836.html