![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PAT
三少Algorithm
个人知乎:https://www.zhihu.com/people/ma-zong-3/activities
展开
-
1001.害死人不偿命的(3n+1)猜想
# -*- coding:utf-8 -*- """ 卡拉兹(Callatz)猜想: 对任何一个正整数 n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把 (3n+1) 砍掉一半。这样一直反复砍下去,最后一定在某一步得到 n=1。卡拉兹在 1950 年的世界数学家大会上公布了这个猜想,传说当时耶鲁大学师生齐动员,拼命想证明这个貌似很傻很天真的命题,结果闹得学生们无心学业,一心只证 (3n+...原创 2019-09-06 23:27:50 · 84 阅读 · 0 评论 -
1002.写出这个数
a = input() sum = 0 res = [] for c in a: # sum += int(c) sum += (ord(c) - ord('0')) for c in str(sum): if c == '0': res.append('ling') elif c == '1': res.append('yi') ...原创 2019-09-06 23:28:24 · 85 阅读 · 0 评论 -
1004.成绩排名
n = int(input()) stu = {} for i in range(n): message = input().strip().split() item = message[0] + ' ' + message[1] stu[item] = int(message[2]) stu_order = sorted(stu.items(), key=lambda x...原创 2019-09-06 23:28:57 · 83 阅读 · 0 评论 -
1005.继续(3n+1)猜想
n = int(input()) a = list(map(int, input().strip().split())) res = a[0: len(a)] for i in a: c = i while c > 1: if c % 2 == 0: c /= 2 else: c = (3 * c...原创 2019-09-06 23:29:35 · 118 阅读 · 0 评论 -
1006.换个格式输出整数
num = input() num_list = [int(i) for i in num] res = "" if len(num_list) == 3: res += num_list[0] * 'B' + num_list[1] * 'S' if num_list[2] != 0: tmp = "" for i in range(num_lis...原创 2019-09-06 23:31:28 · 92 阅读 · 0 评论 -
1007.素数对猜想
# 先用2去筛,即把2留下,把2的倍数剔除掉; # 再用下一个素数,也就是3筛,把3留下,把3的倍数剔除掉; # 接下去用下一个素数5筛,把5留下,把5的倍数剔除掉; # 不断重复下去 def prime_eratosthenes(n): prime = [] flag = [1] * (n + 2) p = 2 while p <= n: ...原创 2019-09-06 23:32:00 · 81 阅读 · 0 评论 -
1008.数组元素循环右移问题
n = input().split() m = input().split() a = int(n[0]) b = int(n[1]) m1 = m[a - b:] m2 = m[:a - b] x = m1 + m2 print(' '.join(x))原创 2019-09-06 23:32:32 · 80 阅读 · 0 评论 -
1009.说反话
a = input().strip().split() a.reverse() print(' '.join(a))原创 2019-09-06 23:33:03 · 102 阅读 · 0 评论