当前位置: 首页 > news >正文

python-确定进制

题目描述

6 ×9=42 对于十进制来说是错误的,但是对于 13 进制来说是正确的。即 6(13)​ ×9(13)​=42(13)​,而 42(13)​=4 ×13^1+2 ×13^0=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 ×3^1+1 ×3^0=4(10)​ 和 121(3)​=1 ×3^2+2 ×3^1+1 ×3^0=16(10)​。对于进制 10 , 有 11(10)​ ×11(10)​=121(10)​。这种情况下,应该输出 3。如果没有合适的进制,则输出 0。

输入

一行,包含三个整数 p,q,r ,相邻两个整数之间用单个空格隔开。

输出

一个整数:即使得 p×q=r  成立的最小的 B。如果没有合适的 B,则输出 0。

样例输入1

6 9 42

样例输出1

13

提示

p,q,r 的所有位都是数字,并且 1≤p,q,r≤106 。

来源/分类(难度系数:一星)

函数与递归 进制转换

 

 

完整代码展示:

# coding=utf-8

p,q,r=map(int,input().split())

s=[]

x=list(str(r))

x.reverse()

for i in range(2,17):

      y=p*q

      sum=0

      for j in range(0,len(x)):

            sum+=eval(x[j])*i**j

      if sum==y:

           s.append(i)

if len(s)==0:

    print(0)

else:

       print(s[0])

# coding=utf-8
p,q,r=map(int,input().split())
s=[]
x=list(str(r))
x.reverse()
for i in range(2,17):y=p*qsum=0for j in range(0,len(x)):sum+=eval(x[j])*i**jif sum==y:s.append(i)
if len(s)==0:print(0)
else:print(s[0])

 

 

代码解释:

p,q,r=map(int,input().split()) ”,导入用户的三个整数p,q,r。

s=[]

  x=list(str(r))

  x.reverse() ”,建立一个空列表s,用于储存可能存在的进制数。接着将x转换为字符串储存在列表x中,再将x反转。

for i in range(2,17):

       y=p*q

       sum=0

       for j in range(0,len(x)):

            sum+=eval(x[j])*i**j

       if sum==y:

            s.append(i)           ”,遍历2~16的数字i,查找是否存在符合的进制数p,q之积p*q等于该数字的进制数r。如果有:则将i添加进s中。

if len(s)==0:

      print(0)

 else:

       print(s[0])  ",遍历结束后,判断s是否为空:如果为空,打印0,否则打印s[0]。

 

 

运行效果展示:

6dc7ecc0c5dd4354af224e8107684a9e.jpeg

9b08aa19039e42c3888b24632cb054a8.jpg

 

拓展延伸:

除bin(),hex(),oct()等内置进制转换函数外,可通过自定义函数进行进制转换。


http://www.mrgr.cn/news/25213.html

相关文章:

  • 按包边(边框)尺寸分类异形创意圆形(饼/盘)LED显示屏有哪些种类
  • 安装MongoDB启动报错:找不到共享库文件libcrypto.so.10
  • CSP-J 算法基础 二分查找与二分答案
  • STM32单片机 PWM控制 MG90S舵机
  • Antd - Form 表单提交onfinish函数不生效
  • 快速完成论文初稿写作的ChatGPT提示词分享
  • Kamailio-神仙SIPp压力测试工具
  • printf中的标志字符为-、+、#、空格等
  • 判断当前用户登录时常是否超过两个小时
  • 这篇苹果的AI论文介绍了AdEMAMix:一种利用双指数移动平均值的新型优化方法,以提升梯度效率并改善大规模模型训练性能
  • HTTP和HTTPS
  • Cursor汉化教程及AI 自定义模型教程
  • 华为OD机试真题 E卷 - 投骰子问题(含题目描述+解题思路+代码解析)
  • 企微无限群发:精准营销与合规边界的探索
  • 在WordPress中最佳Elementor主题推荐:入门级指南
  • Android Activity组件与进程启动间关系
  • 科技之光,照亮未来之路“2024南京国际人工智能展会”
  • 异频gap是什么作用?所有异频都需要gap配置吗?UE能力与异频gap配置的关系?
  • python学习第八节:爬虫的初级理解
  • 抖音豆包大模型Prompt 最佳实践