蓝桥杯题目速刷

问题描述
给定n个十六进制正整数,输出它们对应的八进制数。

输入格式
输入的第一行为一个正整数n (1<=n<=10)。
接下来n行,每行一个由0-9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。

输出格式
输出n行,每行为输入对应的八进制正整数。

【注意】
输入的十六进制数不会有前导0,比如012A。
输出的八进制数也不能有前导0。

#执行的代码
n=int(input())
for i in range(n):
    if n<=10:
        s=input()#所有输入默认字符串
        if len(s)<=100000:
            res_1=int(s,16)#这里的int(s,16)代表把16进制的s转化成10进制
            res_2=oct(res_1)#这里的oct代表把一个整数转化为八进制
            print(res_2[2:])#这里的[2:]是代表结果从第三位开始输出
#下方是关于进制转换的一些信息,刚上手Python建议读一下       
'''本题目可以将输入的16进制数转化为某进制,再将某进制转化为8进制,
于是我在这里拓展一下进制转化的一些方法:
在python中二进制用0b加相应数字来表示,8进制用0o加相应数字来表示,16进制用0x加相应数字来表示。即:
#其他进制转换二进制#
>>> bin(2)  #十进制转换二进制#
'0b10'
>>> bin(0o10) #八进制转换二进制#
'0b1000'
>>> bin(0xf) #十六进制转换二进制#
'0b1111'
 
#其他进制转换为八进制#
>>> oct(0b101)
'0o5'
>>> oct(0xf)
'0o17'
>>> oct(0o123)
'0o123'
 
#其他进制转换为十六进制#
>>> hex(0o10)
'0x8'
>>> hex(3)
'0x3'
>>> hex(0b111)
'0x7'
 '''
'''
#其他进制转换为十进制#
>>> int(0o10)
8
>>> int(0xf)
15
>>> int(0b10)
2
'''

问题描述
123321是一个非常特殊的数,它从左边读和从右边读是一样的。
输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。
输入格式
输入一行,包含一个正整数n。
输出格式
按从小到大的顺序输出满足条件的整数,每个整数占一行。
样例输入
52
样例输出
899998
989989
998899
数据规模和约定
1<=n<=54

n=int(input())
for i in range(10000,1000000):
    a=str(i)
    b=0
    if a==a[::-1]:#这里的a[::-1]表示把字符串a倒序
       for j in a:
           b+=int(j)
       if b==n:
           print(a)

问题描述
  153是一个非常特殊的数,它等于它的每位数字的立方和,即153=111+555+333。编程求所有满足这种条件的三位十进制数。
输出格式
  按从小到大的顺序输出满足条件的三位十进制数,每个数占一行。

for i in range(100,1000):
    a=list(str(i))
    if i==pow(int(a[0]),3)+pow(int(a[1]),3)+pow(int(a[2]),3):
        print(i)
'''
pow(x,y)表示求解x的y次幂
pow(x,y,z)表示求解x的y次幂对z取余后的结果
'''

你可能感兴趣的:(java,开发语言)