公司里为了凸显公司的特性。 安装了一个n进制表。 已知新的表的时间是”H:M”。 时间合法的定义为H<=23 && M<=59。 时间有多少种进制定义的方式,依次打印出来。 如果有无数种解输出”-1”,不存在输出”0”
时间: 2023-06-01 12:03:42 浏览: 49
且M<=59。现在请你编写一个程序,将”H:M”转换成n进制表上的时间表示。
输入格式:
输入在一行中给出3个正整数,分别是:n(n<=10),H(<=23)和M(<=59)。题目保证至少存在一种n进制表能显示给定的”H:M”。
输出格式:
在一行中以“HH:MM”的格式输出给定的时间。其中HH和MM都必须是2位数,不足2位时高位用0补齐。
输入样例:
8 9 57
输出样例:
11:31
相关问题
C++代码:已知一个二进制数a,求a+1的二进制表示
以下是一个示例C代码,可以根据输入的二进制数a,求出其1的二进制表示:
```c
#include <stdio.h>
int main()
{
int a, count = 0;
printf("请输入一个二进制数:");
scanf("%d", &a);
while (a != 0) {
if (a % 2 == 1) {
printf("%d ", count);
}
count++;
a /= 2;
}
return 0;
}
```
运行示例:
```
请输入一个二进制数:10101
0 2 4
```
在输入二进制数 `10101` 后,程序将依次遍历其每一位,如果该位为1,就输出其在二进制表示中的位置。因此程序输出了 `0 2 4`,对应的二进制位上分别为 `1 1 1`,表示输入的二进制数中,1位于第0、2、4位。
sql语言,已知一个时间字段,如何表达上一年的一月一日
您可以使用以下SQL语句表达上一年的一月一日:
SELECT DATEADD(yy, DATEDIFF(yy, 0, YourTimeField)-1, 0)
其中,YourTimeField是您的时间字段,DATEADD函数用于添加/减少一个指定的时间间隔,DATEDIFF函数可计算两个日期之间的时间间隔,0表示1900年1月1日,故表达式会返回上一年的1月1日。