博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
百练 2972 确定进制
阅读量:7047 次
发布时间:2019-06-28

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

链接:题目:

总时间限制:
1000ms
内存限制:
65536kB
描述
6*9 = 42 对于十进制来说是错误的,但是对于13进制来说是正确的。即, 6(13) * 9(13) = 42(13), 而 42(13) = 4 * 131 + 2 * 130 = 54(10)。 你的任务是写一段程序读入三个整数p、q和 r,然后确定一个进制 B(2<=B<=16) 使得 p * q = r. 如果 B有很多选择, 输出最小的一个。例如: p = 11, q = 11, r = 121. 则有 11(3) * 11(3) = 121(3) 因为 11(3) = 1 * 31 + 1 * 30 = 4(10) 和 121(3) = 1 * 32 + 2 * 31 + 1 * 30 = 16(10)。 对于进制 10,有 11(10) * 11(10) = 121(10)。这种情况下,应该输出 3。如果没有合适的进制,则输出 0。
输入
输入有 T组测试样例。 T在第一行给出。每一组测试样例占一行,包含三个整数p、q、r。 p、q、r的所有位都是数字,并且1 <= p、q、r <= 1,000,000。
输出
对于每个测试样例输出一行。该行包含一个整数:即使得p * q = r成立的最小的B。如果没有合适的B,则输出 0。
样例输入
36 9 4211 11 1212 2 2
样例输出
1330

代码:

1 #include 
2 #include
3 #include
4 #include
5 using namespace std; 6 7 const int MAX = 8; 8 const int LEFT = 2; 9 const int RIGHT = 16;10 11 int main()12 {13 //freopen("F:\\input.txt","r",stdin);14 15 int t;16 cin>>t;17 18 char p[MAX];19 char q[MAX];20 char r[MAX];21 22 while(t--)23 {24 scanf("%s %s %s",p,q,r);25 26 27 int i,j;28 int p10,q10,r10; 29 30 for(i = LEFT; i <= RIGHT; i++)31 {32 //i进制装成10进制33 34 //p35 p10 = 0;36 int len_p = strlen(p);37 for(j = 0; j < len_p; j++)38 {39 p10 = p10 * i + (p[j] - '0');40 if(p[j] - '0' >= i) break;41 }42 if(j < len_p) continue;43 44 //q45 q10 = 0;46 int len_q = strlen(q);47 for(j = 0; j < len_q; j++)48 {49 q10 = q10 * i + (q[j] - '0');50 if(q[j] - '0' >= i) break;51 }52 if(j < len_q) continue;53 54 //r55 r10 = 0;56 int len_r = strlen(r);57 for(j = 0; j < len_r; j++)58 {59 r10 = r10 * i + (r[j] - '0');60 if(r[j] - '0' >= i) break;61 }62 if(j < len_r) continue;63 64 if( p10 * q10 == r10) break;65 //cout<
<<','<
<<','<
<

 

思路

1.读入信息,使用字符串式读入

2.转成10进制,注意如:121不可能为2进制,因为2不可能出现在2进制数中

转载于:https://www.cnblogs.com/mobileliker/archive/2013/05/23/3095905.html

你可能感兴趣的文章
在一周之内,快速看完整部教材,列出你不懂的5-10个问题,发布在个人博客上。...
查看>>
Javascript:作用域 学习总结
查看>>
leetcode654
查看>>
利用WinRar命令行定时备份Sql2005数据库!
查看>>
010——VUE中使用lodash库减少watch对后台请求的压力
查看>>
Yii框架上传后展示图片
查看>>
EXCEL教程,包你一学就会
查看>>
二叉堆 - 最小堆
查看>>
Linux 定时任务
查看>>
appium脚本报错selenium.common.exceptions.WebDriverException
查看>>
java udp与tcp
查看>>
fiddler
查看>>
非常值得学习的java 绘图板源代码
查看>>
Sql Server 语句
查看>>
SharePoint 2013下,使用ajax调用ashx报Http 302错误
查看>>
proxool数据连接池
查看>>
ASP.NET 访问 MySql
查看>>
NS 2.35 柯志亨书-实验4笔记-随机数产生-参数化批处理
查看>>
ios 导航问题
查看>>
[Android学习笔记]使用getIdentifier()获取资源Id
查看>>