博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
1010 Radix
阅读量:6471 次
发布时间:2019-06-23

本文共 1538 字,大约阅读时间需要 5 分钟。

题目链接:

进制转换,但是没有拿到满分,还有点小问题,下面是代码

1 #include
2 #include
3 using namespace std; 4 5 long trans(string num,int radix){ 6 int in[10] = {
1}; 7 for(int i = 1; i < 10; i++){ 8 in[i] = in[i-1]*radix; 9 }10 int x = num.size();11 long stem = 0;12 for(int i = x-1; i >= 0; i--){13 if(num[i] >= '0' && num[i] <= '9'){14 stem += (int)(num[i]-'0')*in[x-i-1];15 }16 else{17 stem += ((int)(num[i]-'a')+10)*in[x-i-1];18 }19 }20 return stem;21 }22 int main(){23 string str[2];24 int n,radix;25 std::ios::sync_with_stdio(false);26 std::cin.tie(0);27 int n_1 = 0;28 while(cin >> str[0]){29 cin >> str[1]>>n>>radix;30 long stem = 0, stem_x = 0;31 int max = 0,ste,radix_x = 0;32 stem = trans(str[n-1],radix);33 n_1 = str[2-n].size();34 for(int i = 0; i < n_1; i++){35 if(str[2-n][i] >= '0' && str[2-n][i] <= '9'){36 ste = (int)(str[2-n][i]-'0');37 }38 else{39 ste = (int)(str[2-n][i]-'a')+10;40 }41 if(ste > max) max = ste;42 }43 radix_x = max+1;44 while(stem_x < stem){45 stem_x = trans(str[2-n],radix_x);46 radix_x++;47 }48 if(stem_x == stem) cout << radix_x-1 << endl;49 else cout << "Impossible" << endl;50 }51 return 0;52 }

 

转载于:https://www.cnblogs.com/huhusw/p/9755091.html

你可能感兴趣的文章
git bash 风格调整
查看>>
linux操作系统加固软件,系统安全:教你Linux操作系统的安全加固
查看>>
linux中yum源安装dhcp,24.Linux系统下动态网络源部署方法(dhcpd)
查看>>
C#技术------垃圾回收机制(GC)
查看>>
漫谈并发编程(三):共享受限资源
查看>>
【转】github如何删除一个仓库
查看>>
HDOJ-1010 Tempter of the Bone
查看>>
JavaNIO基础02-缓存区基础
查看>>
日本开设无人机专业,打造无人机“人才市场”
查看>>
190行代码实现mvvm模式
查看>>
cobbler初探------实现自动安装centos6.4
查看>>
兼容几乎所有浏览器的透明背景效果
查看>>
jeesite 框架搭建与配置
查看>>
Adb移植(一)简单分析
查看>>
Linux VNC server的安装及简单配置使用
查看>>
阿里宣布开源Weex ,亿级应用匠心打造跨平台移动开发工具
查看>>
Android项目——实现时间线程源码
查看>>
招商银行信用卡重要通知:消费提醒服务调整,300元以下消费不再逐笔发送短信...
查看>>
python全栈_002_Python3基础语法
查看>>
C#_delegate - 调用列表
查看>>