华师一附中OI组

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 712|回复: 1
打印 上一主题 下一主题

2048进制转换

[复制链接]

4

主题

21

帖子

89

积分

注册会员

Rank: 2

积分
89
跳转到指定楼层
楼主
发表于 2018-7-19 22:45:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
题目描述
今天小明学会了进制转换,比如(10101)2 ,那么它的十进制表示的式子就是 :
1*2^4+0*2^3+1*2^2+0*2^1+1*2^0,
那么请你编程实现,将一个M进制的数N转换成十进制表示的式子。
注意:当系数为0时,该单项式要省略。
输入输出格式输入格式:


两个数,M和N,中间用空格隔开。

输出格式:


共一行,一个十进制表示的式子。

输入输出样例
样例输入#1:2 10101
样例输出#1:1*2^4+1*2^2+1*2^0
说明
对于100%的数据,1<M<10,N的位数不超过1000。
我的程序如下:
  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4. int main()
  5. {
  6.     int m,k,j;
  7.     string n;
  8.     cin>>m;
  9.     getline(cin,n);
  10.     k=n.size();
  11.     j=k;
  12.     int l=0;
  13.     for(int i=1;i<j;i++)
  14.     {
  15.         k--;
  16.         if(n[i]=='0')
  17.         continue;
  18.         if(l>0)
  19.         cout<<"+"<<n[i]<<"*"<<m<<"^"<<k-1;
  20.         else
  21.         {
  22.             cout<<n[i]<<"*"<<m<<"^"<<k-1;
  23.             l++;
  24.         }
  25.     }
  26.     return 0;
  27. }
复制代码
当然,这里也欢迎各位发表哦

回复

使用道具 举报

738

主题

1485

帖子

5420

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5420
沙发
发表于 2018-7-19 22:48:48 来自手机 | 只看该作者
字符串变量不要用n  轻易不要getline
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|服务支持:DZ动力|华师一附中OI组  

GMT+8, 2024-11-2 16:41 , Processed in 0.179832 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表