PAT-乙级-01

古城微笑少年丶 2022-01-05 14:21 468阅读 0赞

1.PAT (Advanced Level) Practice: https://pintia.cn/problem-sets/994805342720868352/problems/type/7

2.PAT (Basic Level) Practice (中文乙级) https://pintia.cn/problem-sets/994805260223102976/problems/type/7

1570918-20190424153706674-1755317694.png

3.https://pintia.cn/problem-sets?tab=0

1570918-20190424153627446-225058854.png

#1 组成互不相同且不重复的三位数

每日一题: https://www.cnblogs.com/minutesheep/category/1399636.html

【题目】从1,2,3,4四个数字中组成互不相同且不重复的三位数,要求全部列出

【题目分析】用列表生成式一步到位

【解答】

ContractedBlock.gif ExpandedBlockStart.gif

  1. #!/Users/minutesheep/.pyenv/shims/python
  2. # -*- coding: utf-8 -*-
  3. ans = [i*100+j*10+k for i in range(1, 5) for j in range(1, 5)
  4. ¦ for k in range(1, 5) if i != j and i != k and j != k]
  5. print(ans)
  6. 程序源代码

ContractedBlock.gif ExpandedBlockStart.gif

  1. [123, 124, 132, 134, 142, 143, 213, 214, 231, 234, 241, 243, 312, 314, 321, 324, 341, 342, 412, 413, 421, 423, 431, 432]

运行结果

1001.

卡拉兹(Callatz)猜想:
对任何一个正整数 n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把 ( 砍掉一半。这样一直反复砍下去,最后一定在某一步得到 n=1。卡拉兹在 1950 年的世界数学家大会上公布了这个猜想,传说当时耶鲁大学师生齐动员,拼命想证明这个貌似很傻很天真的命题,结果闹得学生们无心学业,一心只证 (,以至于有人说这是一个阴谋,卡拉兹是在蓄意延缓美国数学界教学与科研的进展……
我们今天的题目不是证明卡拉兹猜想,而是对给定的任一不超过 1000 的正整数 n,简单地数一下,需要多少步(砍几下)才能得到 n=1?
输入格式:每个测试输入包含 1 个测试用例,即给出正整数 n 的值。
输出格式:输出从 n 计算到 1 需要的步数。
输入样例:3
输出样例:5

1570918-20190506175059340-825965554.png

ContractedBlock.gif ExpandedBlockStart.gif

  1. x = int(input('please input a num:'))
  2. count = 0
  3. while x != 1:
  4. if x %2 == 0 :
  5. count +=1
  6. x = x /2
  7. else:
  8. count +=1
  9. x = (3*x+1)/2
  10. print(count)
  1. 详见: https://www.jianshu.com/p/4f380a2ff368 C语言版本的参考: https://blog.csdn.net/chenyvye/article/details/78655416

读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
输入格式:每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于 10^100。
输出格式:在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。
输入样例:1234567890987654321123456789
输出样例:yi san wu
1570918-20190506214035798-81564707.png 1570918-20190506212230265-509228557.png

ContractedBlock.gif ExpandedBlockStart.gif

  1. number = input()
  2. sum = 0
  3. if int(number) < 10**100 :
  4. for numbers in number :
  5. sum = sum + int(numbers)
  6. strsums = str(sum)
  7. print(strsums)
  8. dict={
  9. '1':'yi',
  10. '2':'er',
  11. '3':'san',
  12. '4':'si',
  13. '5':'wu',
  14. '6':'liu',
  15. '7':'qi',
  16. '8':'ba',
  17. '9':'jiu',
  18. '0':'ling'
  19. }
  20. info = []
  21. for strsum in strsums :
  22. ss = dict.get(strsum)
  23. info.append(ss)
  24. # print(info)
  25. # print(ss)
  26. print(' '.join(info))

1003.

转载于:https://www.cnblogs.com/chengxiaofeng/p/10387042.html

发表评论

表情:
评论列表 (有 0 条评论,468人围观)

还没有评论,来说两句吧...

相关阅读

    相关 PAT乙级1004

    1004 成绩排名 (20)(20 分) 读入n名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。 输入格式:每个测试输入包含1个测试用例,格式为\\

    相关 PAT乙级1003

    1003 我要通过!(20)(20 分) “答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于PAT的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出

    相关 PAT乙级1013

    1013 数素数(20 分) 令 Pi 表示第 i 个素数。现任给两个正整数 M≤N≤104,请输出 PM 到 PN 的所有素数。 输入格式: 输入在一行中给出 M

    相关 PAT乙级1025

    1025 反转链表 (25 分) 给定一个常数 K 以及一个单链表 L,请编写程序将 L 中每 K 个结点反转。例如:给定 L 为 1→2→3→4→5→6,K 为 3,则输出

    相关 PAT乙级1031

    1031 查验身份证 (15 分) 一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下: 首先对前17位数字加权求和,权重分配为:\

    相关 PAT乙级1037

    1037 在霍格沃茨找零钱 (20 分) 如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 —— 就如海格告诉哈利的:“十七个银西可(Sickle)兑一个加隆(Gal

    相关 PAT乙级1044

    1044 火星数字 (20 分) 火星人是以 13 进制计数的: 地球人的 0 被火星人称为 tret。 地球人数字 1 到 12 的火星文分别为:jan, f