不同进制的计时

题目描述:

24小时计时制是一个广为使用的计时体系。在一个古老的村庄使用二进制下的24小时制,这时“11:11”表示的就是3点03分。

给一个未知的时刻,形如"A:B"的形式来表示,A,B分别是一个字符串,字符串可以由0-9和A-Z组成,分别代表0-9和10-35.求出这个时刻所处的所有可能的进制。

输入:

一行字符串,即“A:B”的形式,A,B的含义及组成如题面

输出:

输出可以包含若干个整数,如果不存在任何一个进制符合要求,则输出“-1”,如果有无穷多的进制数符合条件,则输出“0”,否则按从小到大的顺序输出所有进制数,中间用空格隔开

实现思路:

1.先将A和B进行拆分,分别将每一位转化成10进制数字;

2.找出A和B中出现的最大数值max,那么第一个可能的进制数为max+1;

3.从max+1开始循环遍历,判断A和B两个部分组成的数是否满足0<=A<24  且0<=B<60,直到超出范围即停止,将符合条件的进制数存入一个list里面;

4.判断list的长度,如果为0,则输出-1,否则依次输出list的内容。

python代码如下:

import sys
import numpy as np


def transfer(k):
    n = ord(k)
    if n>=48 and n<=57:
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
多数人们比较熟知十进制计时,但在实际生活中,也有一些特定场合需要采用其他进制计时,例如60进制计时。 Multisim是一款电子电路设计软件,其内置的60进制计时器可以方便地进行60进制计时操作。该计时器由60个分频器以及计时显示器组成,每个分频器按照60的整数倍输出一个脉冲信号,从最高位开始逐级递减,以控制计时总时间。计时器分为两个部分,右边为秒分位,左边为时分位。在Multisim中使用此计时器,不仅能够对60进制计时有更深入的理解,还可以实际应用于一些有特殊需求的计时场景,例如航空和航海中的计算时间和距离等。 首先,打开Multisim,选中“基本元器件”(Basic Elements),在左边面板中找到计时器(60 Hz Timer),将其拖入电路绘图区中。接下来,连接控制输入端(Control input)直到闸锁输入(Latch inputs)和60进制计时输出端(60 Hz timer output)。左侧为小时部分,右侧为分秒部分,这两部分都有——进位输出端(Carry Out)和——清零运算按钮(Reset)。 在60进制计时器的应用过程中,我们需要按下积累器(Accumulator)按钮将时分插入,然后按下启动(Start)按钮继续计时,如果需要停止计时,可以按下紧急停止(Halt)按钮。此外,我们还可以通过等时计时器(Constant On-Time Timer)来控制计时时间,只需连接计时器的输入至等时计时器即可。 综合来看,Multisim的60进制计时器不仅具有实用性,同时更是一款多功能、方便操作的计时器。从技术上来讲,这种计时方法一定程度上能够提高时间的准确度和精度,减少了计时的误差,完美符合特定场合中时间计算的要求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值