HJ6 质数因子
题目:功能:输入一个正整数,按照从小到大的顺序输出它的所有质因子(重复的也要列举)(如180的质因子为2 2 3 3 5 )
输入描述:
输入一个整数
输出描述:
按照从小到大的顺序输出它的所有质数的因子,以空格隔开。
##质因子只有1和它本身
import math
n = int(input())
for i in range(2, int(math.sqrt(n))+1):
while n % i == 0:
print(i, end=' ')
n = n // i
#如果n没有变化,还是大于2的数,则输出其本身
if n > 2:
print(n)
HJ34 图片整理
题目:Lily上课时使用字母数字图片教小朋友们学习英语单词,每次都需要把这些图片按照大小(ASCII码值从小到大)排列收好。请大家给Lily帮忙,通过代码解决。
输入描述:
Lily使用的图片包括"A"到"Z"、"a"到"z"、"0"到"9"。输入字母或数字个数不超过1024。
输出描述:
Lily的所有图片按照从小到大的顺序输出
while True:
try:
a =input()
#print(a[0])
b = []
c = []
for i in range(len(a)):
b.append(ord(a[i]))
b.sort()
for j in b:
c.append(chr(j))
print(''.join(c))
except:
break
while True:
try:
#将字母和数字直接排序,也是按ASCII码从小到大排序的
print(''.join(sorted(input())))
except EOFError: break
HJ37 统计每个月兔子的总数
题目:有一只兔子,从出生后第3个月起每个月都生一只兔子,小兔子长到第三个月后每个月又生一只兔子,假如兔子都不死,问第n个月的兔子总数为多少?
输入描述:
输入一个int型整数表示第n个月
输出描述:
输出对应的兔子总数
#斐波那契数列:1 1 2 3 5 8 13 21 34 f(n)=f(n-1)+f(n-2) n>2,n从0开始
while True:
try:
month=int(input())
n=month-1
def func(n):
if n<2:#基线条件
return 1
else:#递归条件
return func(n-1)+func(n-2)
print(func(n))
except:
break
HJ101 输入整型数组和排序标识,对其元素按照升序或降序进行排序
题目:输入整型数组和排序标识,对其元素按照升序或降序进行排序
输入描述:
第一行输入数组元素个数
第二行输入待排序的数组,每个数用空格隔开
第三行输入一个整数0或1。0代表升序排序,1代表降序排序
输出描述:
输出排好序的数字
while True:
try:
num = input()
##map(类型,输入)
array = list(map(int,input().split()))
n = int(input())
if n==0:
array.sort()
else:
array.sort(reverse = True)
#只有转换为字符类型才可以拼接
print(' '.join(map(str,array)))
#print(' '.join(array))
except:
break