

1 """s = input().split() 2 m = int(s[0]) 3 n = int(s[1])""" 4 while True: 5 try: 6 m,n = map(int, input().split()) 7 dp = [[1 for i in range(n+1)] for i in range(m+1)] #dp[m][n] 8 for i in range(m+1): 9 dp[i][0] = 0 #零个物品 10 for j in range(1, n+1): 11 for i in range(1, m+1): 12 if j > i: 13 dp[i][j] = dp[i][i] 14 else: 15 dp[i][j] = dp[i][j-1] + dp[i-j][j] 16 print(dp[m][n]) 17 except: 18 break 19 20 ''' 21 放苹果分两种情况,一种是有盘子为空,一种是每个盘子都有苹果 22 令(m,n)表示将m个苹果放入n个盘子中的摆放方法总数 23 1. 假设有一个盘子为空,则(m,n)问题转化为将m个苹果放在n-1个盘子上,即求得(m, n-1)即可 24 2. 假设所有盘子都装有苹果,则每个盘子至少有一个苹果,即最多剩下m-n个苹果,即问题转化为将m-n个苹果 25 放到n个盘子里,即求(m-n, n) 26 ''' 27 def f(m,n): 28 if m < 0 or n < 0: 29 return 0 30 elif m == 1 or n == 1: 31 return 1 32 else : 33 return f(m, n-1) + f(m-n, n) 34 while True: 35 try: 36 m, n = map(int, input().split()) 37 print(f(m, n)) 38 except: 39 break


1 while True: 2 try: 3 n = int(input()) 4 m = bin(n).count('1') 5 print(m) 6 except: 7 break 8 9 while True: 10 try: 11 nlist=list(map(int,input().split())) 12 print(nlist) #输入4 得[4] 不推荐 13 for n in nlist: 14 print(str(bin(n)).count('1')) 15 except: 16 break 17 18 19 20 while True: 21 try: 22 n = int(input()) 23 count = 1 24 while n / 2 > 1 : 25 if n % 2 == 1: 26 count += 1 27 n = n // 2 28 print(count) 29 except: 30 break

1 test = input() 2 for i in range(100): 3 for j in range(100 - i): 4 if 5 * i + 3 * j + (100 - i - j) / 3 == 100: 5 print(str(i) + ' ' + str(j) + ' ' + str(100 - i - j)) 6 7 ######################################### 8 while True: 9 try: 10 n = int(input()) 11 except: 12 break 13 14 for x in range(100): 15 for y in range(100): 16 for z in range(100): 17 if 5*x+3*y+z/3==100 and x+y+z==100: 18 print(x,y,z) 19 ######################################### 20 while True: 21 try: 22 input() 23 except: 24 break 25 26 for x in range(20): 27 yushu = (100 - 7 * x) % 4 28 if yushu == 0: 29 y = (100 - 7 * x) // 4 30 z = 100 - x - y 31 if z >= 0 and y >= 0: 32 print(x, y, z) 33 ######################################### 34 try: 35 36 n = int(input()) 37 for x in range(21): 38 for y in range(34): 39 for z in range(0, 100, 3): 40 if x + y + z == 100 and x * 5 + y * 3 + z / 3 == 100: 41 print(x, y, z) 42 except: 43 break 44 45 ######################################### 46 # -*-coding:utf-8-*- 47 48 def Buycheck(num): 49 jiwen = 5 50 muji = 3 51 xiaoji = 1/3 52 for i in range(0,20): 53 for j in range(0,33): 54 for k in range(0,100): 55 if i+j+k == 100 and i*jiwen+j*muji+k*xiaoji==100: 56 print("%d %d %d" %(i,j,k)) 57 while True: 58 try: 59 input_m = input() 60 if input_m.isdigit(): 61 Buycheck(input_m) 62 else: 63 break 64 65 66 except: 67 break 68 69 #########################################

参考答案
1 """ 2 思路: 3 step1:首先输入year、month、day,并用空格隔开,且输入均为int型; 4 step2:创建一个列表,输入1-12个月的天数; 5 step3:判断year是闰年还是平年:如果是闰年,则需要把2月的天数改为29; 6 step4:输出该天是这一年的第几天 7 8 y,m,d = list(map(int,input().split())) 9 month = [31,28,31,30,31,30,31,31,30,31,30,31] 10 if y % 400 == 0 or (y % 100 != 0 and y % 4 == 0): 11 month[1] = 29 12 print(sum(month[:m-1]) + d) 13 14 print(month[:m-1]) 15 16 """ 17 18 """ 19 调用datetime库 20 实现思路 21 datetime库中的strftime方法支持以天数的方式输出 22 其中日期格式化符号%j就是天数表示 23 但是这样输出的结果是从001到366为止的字符串 24 我们还要从左边去掉所有的0才是最终的结果 25 """ 26 import datetime 27 while True: 28 try: 29 date = input().split() 30 year, month, day = int(date[0]), int(date[1]), int(date[2]) 31 if year >=1000: 32 date = datetime.datetime(year, month, day) 33 which_day = date.strftime('%j').lstrip('0') 34 print(which_day) 35 else: 36 print("年份不符合,请重新输入") 37 except: 38 break 39 40 41 42 """ 43 方法二:平闰年区别计算 44 实现思路 45 我们知道闰年的二月份是29天,平年的二月份是28天 46 因此在计算某个日子是多少天的时候,要根据平年闰年的不同进行分类塔伦 47 知道这一点后加和所有的天数即可 48 """ 49 while True: 50 try: 51 y, m, d = map(int, input().split()) 52 month = [31, 28, 31, 30, 31, 30, 31, 31,30, 31, 30, 31] # 平年的月份 53 if y % 400 == 0 or (y % 100 != 0 and y % 4 == 0): 54 month[1] = 29 # 闰年的月份 55 print(sum(month[:m-1]) + d) # 统计时间 56 except: 57 break 58 59 #################################### 60 def leap_year(year): 61 if (year % 4) == 0: 62 if (year % 100) == 0: 63 if (year % 400) == 0: 64 return 1 65 else: 66 return 0 67 else: 68 return 1 69 else: 70 return 0 71 72 while True: 73 try: 74 date_list=input().split() 75 count_days=0 76 dic_leap={1:31,2:29,3:31,4:30,5:31,6:30,7:31,8:31,9:30,10:31,11:30,12:31} 77 dic_nonleap={1:31,2:28,3:31,4:30,5:31,6:30,7:31,8:31,9:30,10:31,11:30,12:31} 78 if leap_year(int(date_list[0]))==1: 79 for i in range(1,int(date_list[1])): 80 count_days+=dic_leap.get(i) 81 count_days+=int(date_list[2]) 82 else: 83 for i in range(1,int(date_list[1])): 84 count_days+=dic_nonleap.get(i) 85 count_days+=int(date_list[2]) 86 print(count_days) 87 except: 88 break 89 90 #################################### 91 try: 92 year, month, day = [int(i) for i in input().split()] 93 total_days = day 94 95 for i in range(2, month + 1): 96 if i == 3: 97 if year % 4 == 0 and year % 100 != 0: 98 total_days += 29 99 else: 100 total_days += 28 101 elif i in [2, 4, 6, 8, 9, 11]: 102 total_days += 31 103 else: 104 total_days += 30 105 106 print(total_days) 107 108 except: 109 break


自己写的代码
1 def sunmNumber(n): 2 L1=[] 3 L2 =[] 4 L3=[] 5 if n ==1: 6 return print(1) 7 else: 8 for i in range(1,n**3,2): 9 L1.append(i) 10 #print(L1) 11 12 for j in range(len(L1)): 13 L2=L1[j:j+n] 14 #print(L2) 15 if sum(L2)==n**3: 16 L3=L1[j:j + n] 17 #print(L3) 18 19 return print('+'.join(str(x) for x in L3)) 20 21 while True: 22 try: 23 n = int(input()) 24 s =sunmNumber(n) 25 except: 26 break
1 def sunmNumber(n): 2 L1=[] 3 L2 =[] 4 L3=[] 5 if n ==1: 6 return print(1) 7 else: 8 for i in range(1,n**3,2): 9 L1.append(i) 10 #print(L1) 11 12 for j in range(len(L1)): 13 L2=L1[j:j+n] 14 #print(L2) 15 if sum(L2)==n**3: 16 L3=L1[j:j + n] 17 #print(L3) 18 19 return print('+'.join(str(x) for x in L3)) 20 21 while True: 22 try: 23 n = int(input()) 24 s =sunmNumber(n) 25 except: 26 break 27 28 29 while True: 30 try: 31 m = int(input()) 32 l = [i for i in range(m*(m-1)+1,m*(m+1)) if i%2 !=0] 33 print('+'.join(map(str,l))) 34 except: 35 break 36 37 while True: 38 try: 39 n = int(input()) 40 l = [i for i in range(1, n**3+1) if i%2 != 0] 41 for i in range(len(l)): 42 if sum(l[i:n+i]) == n**3: 43 print('+'.join(map(str,l[i:n+i]))) 44 except: 45 break 46 47 48 while True: 49 try: 50 n = int(input()) 51 last = 1 52 for i in range(2,n+1): #求得相加之后的最后一个数 53 last+=2*i 54 tmp = [] 55 for i in range(1,n+1): #将相加的数放在列表中 56 tmp.append(last) 57 last-=2 58 tmp = tmp[::-1] #顺序翻转一下 59 for i in tmp[:-1]: #打印前n-1个数以加号隔开 60 print(i,end='+') 61 print(tmp[-1]) #打印最后一个数 62 except: 63 break 64 65 66 67 num = int(input()) 68 if num % 2 == 0: 69 lis = [i for i in range(1, num + 1) if i % 2 == 1] 70 lis1 = [] 71 for n in lis: 72 lis1 += [num ** 2 - n] 73 lis1 += [num ** 2 + n] 74 elif num % 2 == 1: 75 lis = [i for i in range(1, num + 1) if i % 2 == 0] 76 lis1 = [num ** 2] 77 for m in lis: 78 lis1 += [num ** 2 - m] 79 lis1 += [num ** 2 + m] 80 lis1.sort() 81 lis2 = "+".join(list(map(str, lis1))) 82 print(lis2)


自己的
1 #####这样的方式是输入方式与题目不符合,必须使用map和切割字符串的方式 2 # while True: 3 # try: 4 # n1 = int(input()) 5 # data1,data2,data3 = [],[],[] 6 # for i in range(n1): 7 # data1.append(int(input())) 8 # 9 # n2 = int(input()) 10 # for i in range(n2): 11 # data2.append(int(input())) 12 # 13 # data3 = list(set(data1+data2)) 14 # print(''.join(str(x) for x in sorted(data3))) 15 # except: 16 # break 17 18 19 while True: 20 try: 21 n1 = int(input()) 22 data1=list(map(int,input().split())) 23 24 n2 = int(input()) 25 data2=list(map(int,input().split())) 26 27 data3 = list(set(data1+data2)) 28 print(''.join(str(x) for x in sorted(data3))) 29 except: 30 break
参考
while True: try: n1 = int(input("输入第一个数组的个数:")) data1,data2,data3 = [],[],[] for i in range(n1): data1.append(int(input("输入第一个数组的数值:"))) #print(data1) n2 = int(input("输入第二个数组的个数:")) for i in range(n2): data2.append(int(input("输入第二个数组的数值:"))) #print(data2) data3 = list(set(data1+data2)) # for j in data1: # if j not in data3: # data3.append(j) # #print(data3) # for K in data2: # if K not in data3: # data3.append(K) #print(data3) #print(sorted(data3)) print(''.join(str(x) for x in sorted(data3))) except: break ############这个是有个问题,为什么怎么控制输入数字的数量 while 1: try: s0,s1,s3,s2 = input(), input().split(), input(), input().split() s = map(str,sorted(map(int, set(s1+s2)))) print(''.join(s)) except: break ################################## while True: try: first_num = int(input()) first_list = list(map(int, input().split(" "))) second_num = int(input()) second_list = list(map(int, input().split(" "))) total_list = first_list + second_list total_list = list(set(total_list)) total_list.sort() res = ''.join(list(map(str, total_list))) print(res) except EOFError: break ###################################################333 while True: try: a = input() b = map(int, input().split()) c = input() d = map(int, input().split()) e = [] # 找到不重复的元素,放入空数组 for i in b: if i not in e: e.append(i) for i in d: if i not in e: e.append(i) # 升序排列,无连接符 print(''.join(map(str, sorted(e)))) except: break ###############################################3

浙公网安备 33010602011771号