题目
功能:输入一个正整数,按照从小到大的顺序输出它的所有质因子(如180的质因子为2 2 3 3 5 )
最后一个数后面也要有空格
详细描述:
函数接口说明:
public String getResult(long ulDataInput)
输入参数:
long ulDataInput:输入的正整数
返回值:
String
解答
a, res = int(input()), []
for i in range(2, a // 2 + 1):
while a % i == 0:
a = a / i
res.append(i)
print(" ".join(map(str, res)) + " " if res else str(a) + " " )
题目
写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于5,向上取整;小于5,则向下取整。
输入描述:
输入一个正浮点数值
输出描述:
输出该数值的近似整数值
解答
a = input()
b = a.split('.')
print( int(b[0])+1 if int(b[-1][0]) >= 5 else int(b[0]) )
题目
数据表记录包含表索引和数值(int范围的整数),请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照key值升序进行输出。
输入描述:
先输入键值对的个数
然后输入成对的index和value值,以空格隔开
输出描述:
输出合并后的键值对(多行)
解答
num = int(input())
dictvar = {}
for i in range(num):
k, v = [j for j in map(int, input().split(' '))]
dictvar[k] = dictvar.setdefault(k, 0) + v
for k, v in dictvar.items():
print(k, v)
题目
输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。
输入描述:
输入一个int型整数
输出描述:
按照从右向左的阅读顺序,返回一个不含重复数字的新的整数
解答
num = input()
num = num[::-1]
lst = list(set(num))
lst.sort(key=num.index)
print(''.join(lst))
题目
编写一个函数,计算字符串中含有的不同字符的个数。字符在ACSII码范围内(0~127),换行表示结束符,不算在字符里。不在范围内的不作统计。
输入描述:
输入N个字符,字符在ACSII码范围内。
输出描述:
输出范围在(0~127)字符的个数。
解答
char = input()
setvar = set(char)
print(len(setvar))
题目
将一个英文语句以单词为单位逆序排放。例如“I am a boy”,逆序排放后为“boy a am I”
所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符
接口说明
/**
* 反转句子
*
* @param sentence 原句子
* @return 反转后的句子
*/
public String reverse(String sentence);
解答
chars = input()
lst = chars.split(" ")
lst = lst[::-1]
print(" ".join(lst))
题目
给定n个字符串,请对n个字符串按照字典序排列。
输入描述:
输入第一行为一个正整数n(1≤n≤1000),下面n行为n个字符串(字符串长度≤100),字符串中只含有大小写字母。
输出描述:
数据输出n行,输出结果为按照字典序排列的字符串。
解答
num = int(input())
lst = []
for i in range(num):
lst.append(input())
lst.sort()
for i in lst:
print(i)
题目
输入一个int型的正整数,计算出该int型数据在内存中存储时1的个数。
输入描述:
输入一个整数(int类型)
输出描述:
这个数转换成2进制后,输出1的个数
解答
num = str(bin(int(input())))
res = 0
for i in num:
if i == '1':
res += 1
print(res)
题目
开发一个坐标计算工具, A表示向左移动,D表示向右移动,W表示向上移动,S表示向下移动。从(0,0)点开始移动,从输入字符串里面读取一些坐标,并将最终输入结果输出到输出文件里面。
输入:
合法坐标为A(或者D或者W或者S) + 数字(两位以内)
坐标之间以;分隔。
非法坐标点需要进行丢弃。如AA10; A1A; $%$; YAD; 等。
下面是一个简单的例子 如:
A10;S20;W10;D30;X;A1A;B10A11;;A10;
处理过程:
起点(0,0)
+ A10 = (-10,0)
+ S20 = (-10,-20)
+ W10 = (-10,-10)
+ D30 = (20,-10)
+ x = 无效
+ A1A = 无效
+ B10A11 = 无效
+ 一个空 不影响
+ A10 = (10,-10)
结果 (10, -10)
注意请处理多组输入输出
输入描述:
一行字符串
输出描述:
最终坐标,以,分隔
解答
while 1:
try:
strvar = input()
lstvar = strvar.split(';')
num1 = 0
num2 = 0
dictvar = {A: -1, D: 1, W: 1, S: -1}
for i in lstvar:
if i[0] in [A, D] and (i[1:]).isdigit() and len(i) <= 3:
num1 += dictvar[i[0]]*int(i[1:])
elif i[0] in [W, S] and (i[1:]).isdigit() and len(i) <= 3:
num2 += dictvar[i[0]]*int(i[1:])
else:
continue
print('num1'+','+'num2')
except:
break
题目
密码是我们生活中非常重要的东东,我们的那么一点不能说的秘密就全靠它了。哇哈哈. 接下来渊子要在密码之上再加一套密码,虽然简单但也安全。
假设渊子原来一个BBS上的密码为zvbo9441987,为了方便记忆,他通过一种算法把这个密码变换成YUANzhi1987,这个密码是他的名字和出生年份,怎么忘都忘不了,而且可以明目张胆地放在显眼的地方而不被别人知道真正的密码。
他是这么变换的,大家都知道手机上的字母: 1--1, abc--2, def--3, ghi--4, jkl--5, mno--6, pqrs--7, tuv--8 wxyz--9, 0--0,就这么简单,渊子把密码中出现的小写字母都变成对应的数字,数字和其他的符号都不做变换,
声明:密码中没有空格,而密码中出现的大写字母则变成小写之后往后移一位,如:X,先变成小写,再往后移一位,不就是y了嘛,简单吧。记住,z往后移是a哦。
输入描述:
输入包括多个测试数据。输入是一个明文,密码长度不超过100个字符,输入直到文件结尾
输出描述:
输出渊子真正的密文
示例1
输入
复制
YUANzhi1987
输出
复制
zvbo9441987
解答
while 1:
in_pass = input()
strvar1 = 'abcdefghijklmnopqrstuvwxyz'
strvar2 = '2'*3+'3'*3+'4'*3+'5'*3+'6'*3+'7'*4+'8'*3+'9'*4
dictvar = dict(zip(strvar1, strvar2))
lstvar = []
for i in in_pass:
if 'A' <= i < 'Z':
lstvar.append(chr(ord(i)+33))
elif i == 'Z':
lstvar.append('a')
elif 'a' <= i <= 'z':
lstvar.append(dictvar[i])
else:
lstvar.append(i)
strvar3 = ''.join(lstvar)
print(strvar3)
题目
有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝?
输入描述:
输入文件最多包含10组测试数据,每个数据占一行,仅包含一个正整数n(1<=n<=100),表示小张手上的空汽水瓶数。n=0表示输入结束,你的程序不应当处理这一行。
输出描述:
对于每组测试数据,输出一行,表示最多可以喝的汽水瓶数。如果一瓶也喝不到,输出0。
示例1
输入
复制
3
10
81
0
输出
复制
1
5
40
解答
while 1:
try:
a = int(input())
if a != 0:
print(a//2)
except:
break
题目
题目描述
实现删除字符串中出现次数最少的字符,若多个字符出现次数一样,则都删除。输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序。
注意每个输入文件有多组输入,即多个字符串用回车隔开
输入描述:
字符串只包含小写英文字母, 不考虑非法输入,输入的字符串长度小于等于20个字节。
输出描述:
删除字符串中出现次数最少的字符后的字符串。
示例1
输入
复制
abcdd
输出
复制
dd
解答
while 1:
try:
inc = input()
lst1 = []
for i in inc:
lst1.append(inc.count(i))
min_c = min(lst1)
outc = ''
for i in inc:
if inc.count(i) != min_c:
outc += i
print(outc)
except:
break