这里整理微博话题#潘石屹用Python解决100个问题#中的问题 , 用作我学习Python基础阶段的小练习. 这些题目都是我自己做的 , 请带着质疑的态度去阅读答案 .

1~25

第一题

有四个数字为:1、2、3、4,他们能组成多少个互不相同、且无重复数字的三位数?分别是多少?

1
2
3
4
5
6
7
8
9
count = 0
for bai in range(1,5):
for shi in range(1,5):
for ge in range(1,5):
if bai!=shi and shi!=ge :
print(bai*100+shi*10+ge)
count += 1

print('一共有',count,'个数')

第二题

当利润(I)低于或等于10万元时,奖金可提10%;当利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;当20万到40万之间时,高于20万元的部分,可提成5%;当40万到60万之间时高于40万元的部分,可提成3%;当60万到100万之间时,高于60万元的部分,可提成1.5%;当高于100万元时,超过100万元的部分按1%提成。问题是求应发放奖金总数是多少?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
lirun = float(input('请输入本月利润:'))
if lirun < 10_0000:
jiangjin = lirun * 0.1
elif lirun <20_0000:
jiangjin = 10_0000 * 0.1 + (lirun-10_0000)*0.075
elif lirun < 40_0000:
jiangjin = 10_0000 * (0.1 + 0.075)+(lirun-20_0000)*0.05
elif lirun < 60_0000:
jiangjin = 10_0000 * 0.175 + 20_0000 * 0.05 +(lirun-40_0000)*0.03
elif lirun < 100_0000:
jiangjin = 10_0000 * 0.175 + 20_0000 * 0.08 + (lirun-60_0000)*0.015
else:
jiangjin = 10_0000 * 0.175 + 20_0000 * 0.08 +40_0000*0.015 +(lirun-100_0000)*0.01
print("奖金是:",jiangjin)

第三题

素数(又名质数),即只能被数字 1 和⾃⾝整除、且⼤于 1 的⾃然数。公元前 300多年,古希腊数学家欧⼏⾥得就证明了有多个素数的存在。素数是“哥德巴赫猜想”等许多数学猜想的基础。问题:如何列出 1 到 100 的素数数列,并计算出素数的个数?

1
2
3
4
5
6
7
8
9
10
11
12
13
count = 0
for num in range(2,101):
i = 2
flag = True
while i < num**0.5:
if num % i == 0:
flag = False
break
i += 1
if flag:
print(num,end=" ")
count += 1
print('一共有',count,'个素数')

第四题

最小公倍数是小学五年级的数学课程内容,小学生完成最小公倍数的学习后就可以升学到初中了。如何用程序求出任意两个数的最小公倍数?

1
2
3
4
5
6
a = int(input("请输入第一个整数:"))
b = int(input("请输入第二个整数:"))
c = a
while c % b != 0:
c += a
print(a,b,"最小公倍数是:",c)

第五题

水仙花数(Narcissistic number)是指一个三位数,它的每个位上的数字的3次幂之和等于它本身。水仙花数是自幂数的一种。通过计算水仙花数可以练习编程水平。问题:如何求出所有三位正整数中的水仙花数?

1
2
3
4
5
6
7
8
9
for i in range(100,1000):
num = i
ge = num % 10
num //= 10
shi = num % 10
num //= 10
bai = num
if shi**3 + bai**3 + ge**3 == i:
print(i)

第六题

输入任意一个字符串,如何才能得到空格、数字、字符和“其他”的个数?

1
2
3
4
5
6
7
8
9
10
11
12
str = input("输入任意一个字符串:")
kongge = 0
num = 0
char = 0
for i in str:
if i == " ":
kongge += 1
elif '0'<=i<='9':
num += 1
else :
char += 1
print(f"该字符串中有{kongge}个空格,{num}个数字,{char}个字符")

第七题

如何将一个正整数分解质因数?例如输入90,打印出90=2*3*3*5。

1

第八题

两个乒乓球队进行单打比赛,每队各有三人。其中甲队是a、b、c三人,乙队是x、y、z三人,已根据抽签结果确定了比赛的名单,但没有公开,有人向队员打听对战的名单。a 说:不和x比赛。c说:不和x、z比赛。请在Python3运用集合的知识点进行编程,算出三组赛手的名单。

1

第九题

猴子吃桃的问题:有一只猴子,第一天摘下若干个桃子,当即吃了一半,吃完还不过瘾,又多吃了一个。第二天早上,这只猴子又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上这只猴子都吃了前一天剩下的桃子的一半且多一个。到第十天早上,这只猴子在想吃桃子时,只剩下一个了。请用Python3进行编程,求出第一天这只猴子一共摘了多少个桃子。

1
2
3
4
5
num = 1
for i in range(1,10):
num = (num+1) * 2

print(f"第一天一共摘了{num}个桃子")

第十题

已知数字a, s=a+aa+aaa+aaaa+aaaa,请用Python3进行编程求出s的值。例如:在2+22+222+2222+22222中,共有5个数相加,具体几个数相加由键盘输入。

1
2
3
4
5
6
7
8
a = int(input("请输入整数a:"))
i = int(input("请输入相加数字的个数:"))
my_list = [a]
b = a
for num in range(1,i):
b = 10*b + a
my_list.append(b)
print(f"累加和为:{sum(my_list)}")

第十一题

请输入一个奇数,打印出一个行数为奇数行的菱形,如下图就是行数为7的菱形。

image-20200812163109490

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 万万没想到 , 这道题做了半个多小时 , 还写得乱七八糟 .
# 这逻辑估计我自己再看都看不懂了.

a = int(input("请输入一个奇数:"))
for i in range(1,a//2+2):
j = a//2+1-i
while j > 0:
print(" ",end="")
j -= 1
k = 1
while k < 2*i:
print("*",end="")
k += 1
print()
for i in range(1,a//2+1):
for j in range(i):
print(" ",end="")
k = 1
while k <= a-2*i:
print("*",end="")
k += 1
print()

第十二题

今天我们还是学习斐波那契数列。有一个分数序列为 2/1,3/2,5/3,8/5,13/8,21/13……请用Python3编程,求出这个数列的前20项之和。

1
2
3
4
5
6
7
my_list = [1,1]
for i in range(21):
my_list.append(my_list[-1]+my_list[-2])
new_list = []
for i in range(20):
new_list.append(float(my_list[i+2])/float(my_list[i+1]))
print(f"前二十项的和是{sum(new_list)}")

第十三题

用Python3编程,求1!+2!+3!+……+n! 的和。

1
2
3
4
5
6
7
8
9
10
11
12
def jie_cheng(n):
if n == 1 or n == 0 :
return 1
else :
return n * jie_cheng(n-1)
def n_jie_cheng(n):
sum = 0
for i in range(1,n+1):
sum += jie_cheng(i)
return sum

print(n_jie_cheng(5)) # 153

第十四题

请用递归的方式用Python3编程,解决以下问题:有5个人坐在一起,问第5个人多少岁?他说比第四个人大2岁。问第四个人岁数,他说比第三个人大2岁。问第三个人,又说比第二人大2岁。问第2个人,说比第一个人大2岁。最后问第一个人,他说是10岁。请问第5个人多少岁?

1
2
3
4
5
6
7
def age(n):
if n == 1:
return 10
else :
return age(n-1)+2

print(age(5)) # 18

第十五题

请用Python3编程,输入一个字符串,逆序打印出该字符串。

1
2
3
a = input("请输入一个字符串:")
for i in range(0,len(a)):
print(a[len(a)-i-1],end="")

第十六题

请用Python3语言,求一个3*3矩阵主对角线元素之和。

1

第十七题

已知一个已经排好序的数组,现在输入一个数,用Python3语言按原来的规律将它插入到数组中。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 初始数组
a = [20,40,50,55,90,100,120]
b = float(input("请输入一个数字:"))
if a[0] < a[-1]:
i = 0
for i in range(len(a)):
if b < a[i]:
a.insert(i,b)
break
if i == len(a) - 1:
a.append(b)
else :
i = 0
for i in range(len(a)):
if b > a[i]:
a.insert(i,b)
break
if i == len(a) - 1:
a.append(b)

print(a)

第十八题

请使用Python3语言,用四种方法将两个变量的值互换位置。比如将a=3, b=4,互换后变成a=4, b=3。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
a = 3
b = 4
# 元组解包
def demo1(a,b):
a , b = b , a
# 中间变量
def demo2(a,b):
c = a
a = b
b = c
# 简单逻辑运算
def demo3(a,b):
a = a + b
b = a - b
a = a - b
# 利用异或运算
def demo4(a,b):
a = a ^ b
b = a ^ b
a = a ^ b

# 最简单的情况 , 假设a=1,b=0.
# 那么第一句:a^b的结果是1 , 此时a=1,b=0
# 第二句: a^b的结果还是1 , 将此值赋值给b, 此时b=1,a=1
# 第三句: a^b的结果是0 , 此时a=0,b=1 . 实现了交换.
# 由于在一个二进制数的每一位都是如此操作, 因此结果会是a与b 中的每一位都发生交换 也就是a与b发生交换.

第十九题

请使用Python3语言编程,求在一个包含9个数字的数列中产生一个随机的、包含3个数字的新数列。

1

第二十题

请使用Python3语言编程,用三种办法计算1+2+3+4+…+99+100的和。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 循环
n = 0
for i in range(1,101):
n += i
# 递归函数
def lei_jia(n):
if n < 0 :
print("输入数据非法")
return
if n == 1 or n == 0:
return n
else:
return lei_jia(n-1)+n
lei_jia(100)

# 内置函数
print(sum(range(1,101)))

第二十一题

在计算机内存中,程序中的所有数都是以二进制的形式储存的。位运算,就是直接对整数在内存中的二进制位进行操作。今天我学习使用了Python语言中的按位运算符,包括按位与&、按位或|、按位异或^、按位取反~

1
2
3
4
5
6
7
8
9
10
# 这也不是题啊
a = 0
b = 1
print(a^b) # 1
print(a|b) # 1
print(a&b) # 0
print(~b) # -2
# 计算机存储二进制数是按照补码存储,此处也按照补码进行运算
# 总结: ~x = -(x+1)
print(~(-2)) # 1

第二十二题

请使用Python3编程,画出如下图形。

image-20200808234233486

1

第二十三题

请使用Python3编程,画出一个如下图所示坐标系。

image-20200808234347186

1

第二十四题

“杨辉三角形”是二项式系数的一种写法,形似三角形,因为首现于南宋杨辉撰写的《详解九章算法》而得名,它从第0行到第4行规则如下图所示。请使用Python3编程,打印出“杨辉三角形”的前十行。

4679dbbfly1ge1hvldeorg20bo0a8taj

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
def jie_cheng(n):
if n == 1 or n == 0:
return 1
else:
return n*jie_cheng(n-1)

def C(n,m):
'''
计算组合数c(n,m)
其中n是下角标 , m是上角标
'''
return jie_cheng(n)/(jie_cheng(m)*jie_cheng(n-m))

for i in range(1,11):
print(" "*4*(10-i),end="")
for j in range(i):
print(C(i-1,j),end=" "*4)
print()



# 运行结果
1.0
1.0 1.0
1.0 2.0 1.0
1.0 3.0 3.0 1.0
1.0 4.0 6.0 4.0 1.0
1.0 5.0 10.0 10.0 5.0 1.0
1.0 6.0 15.0 20.0 15.0 6.0 1.0
1.0 7.0 21.0 35.0 35.0 21.0 7.0 1.0
1.0 8.0 28.0 56.0 70.0 56.0 28.0 8.0 1.0
1.0 9.0 36.0 84.0 126.0 126.0 84.0 36.0 9.0 1.0

第二十五题

俗话说:“四年一闰,百年不闰,四百年再闰”。请使用Python3编程,输入一个年份,判断这一年是否是闰年。

1
2
def is_run(n):
return n % 4 == 0 and n % 100 != 0 or n % 400 == 0

26~50

第二十六题

用Python3编程画一个椭圆。

1

第二十七题

在密码学中,凯撒加密是一种最简单且最广为人知的加密技术。它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推。这个加密方法是以罗马共和时期凯撒的名字命名的,据称当年凯撒曾用此方法与其将军们进行联系。请使用Python3编写一个程序,对输入字符串进行凯撒密码加密,直接输出结果,其中空格不用进行加密处理。

4679dbbfly1ge986wb319j21a40jegq5

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 借助ord函数和chr函数
# ord(c, /)
# Return the Unicode code point for a one-character string.
# chr(i, /)
# Return a Unicode string of one character with ordinal i; 0 <= i <= 0x10ffff.
old_str = list(input("请输入一个人字符串:"))

for i in range(len(old_str)):
if old_str[i] != " ":
if ord('a') <= ord(old_str[i]) <= ord('z'):
old_str[i] = chr((ord(old_str[i])+3-ord('a'))%26 + ord('a'))
if ord('A') <= ord(old_str[i]) <= ord('Z'):
old_str[i] = chr((ord(old_str[i])+3-ord('A'))%26 + ord('A'))
for i in old_str:
print(i,end="")

第二十八题

黄金分割数列。意大利数学家斐波那契(Fibonacci)十二世纪就发现了它,后人用他的名字命名这个数列,即:1, 1, 2, 3, 5, 8, 13, 21,…,这个数列前两项都是1,从第3项开始,每一项都等于前两项之和。随着数列的增加,前一项与后一项的比值逼近0.6180339887这个黄金分割系数。在大自然中,斐波那契数列经常出现在我们面前,比如松果、海螺、凤梨、向日葵,在植物的叶、枝和茎中也能发现它的存在,这些都是大自然中神奇的、美丽的数学表达。今天的问题是:如何用Python3实现斐波那契数列前10项数列?

1
2
3
4
a = [1,1]
for i in range(8):
a.append(a[-1]+a[-2])
print(a)

第二十九题

输入一个目标时间(包括年、月、日、时、分、秒),如何写出从当前时间开始到目标时间的倒计时?

1

第三十题

最大公约数是一个小学算术的概念,还常常被用在社会学中,用来形容人们之间形成的最大共识,如“共通的意义空间”等说法。如何用程序来求任意两个数的最大公约数?

1
2
3
4
5
6
# 辗转相除法: 两个整数的最大公约数等于这两个数中较小的数与这两个数相除的余数的最大公约数
def gcd(a,b):
if max(a,b)%min(a,b) == 0:
return min(a,b)
else:
return gcd(min(a,b),max(a,b)%min(a,b))

第三十一题

请用Python3编程,对10个数进行倒序排序(不能使用sort函数)。

1

第三十二题

请使用Python3编程,将一个列表转换成字符串,并用空格分隔字符串。

1

第三十三题

请使用Python3编程,按相反的顺序输出列表的值。

1

第三十四题

使用Python3编程,通过星期几的英语单词的第一个字母来判断是星期几,如果第一个字母一样,则继续判断第二个字母。

1

第三十五题

请用Python3编程判断某一个数是不是回文数。例如12321就是一个回文数,即这个数的个位与万位相同,十位与千位相同。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
num = input("请输入一个整数:")
my_list = list(num)
high = len(my_list) - 1
low = 0
flag = True
while low < high:
if my_list[low] != my_list[high]:
flag = False
break
low += 1
high -= 1
if flag:
print(num,'是回文数.')
else:
print(num,"不是回文数.")

第三十六题

请用Python3编程,输入一个字符串,逆序打印出该字符串。

1
2
3
4
5
6
my_str = input("请输入一个字符串:")
my_list = []
for i in my_str:
my_list.insert(0,i)
for i in my_list:
print(i,end="")

第三十七题

请用Python3编程,利用递归函数调用的方式,将所输入的5个字符,以相反顺序打印出来。

1

第三十八题

请用Python3编程,利用递归方法求n! (n为整数)

1
2
3
4
5
6
7
def j_c(n):
if n < 0 or n - int(n) != 0:
print('输入数据非法!')
elif n == 0 or n == 1:
return 1
else:
return n * j_c(n-1)

第三十九题

请使用Python3编程,算出从0~7的数字所能组成最大位数为8位的奇数个数。

1

第四十题

请使用Python3编程,将一个八进制数转换成十进制数。

1

第四十一题

“五猴分桃”是一个非常经典的数学问题,据说诺贝尔物理学奖获得者李政道曾经在中科大少年班开班仪式上演绎过他的算法。今天我花了一些时间研究了如何用Python3解决这个问题,问题和代码分享如下,希望朋友们能帮我进行优化。

在一个荒岛上有5只聪明的猴子,有一天它们得到了一堆桃子,他们发现那堆桃子不能被平均分成5份,于是猴子们决定先去睡觉,第二天起来再讨论如何分配。夜深人静的时候,猴子A偷偷起来,吃掉了一个桃子后,它发现余下的桃子正好可以均匀分成5份,于是它拿走了一份;接着猴子B也起来先偷吃了一个,结果它也发现余下的桃子恰好可以被平均分成5份,于是它也拿走了一份;后面的猴子C、D、E也如法炮制,先偷吃一个,然后将余下的桃子平均分成5份并拿走了自己的一份。问:这一堆桃子至少有几个?

1

第四十二题

今天的编程课上复习了之前学过的内容,朋友们可以和我一起用Python3编写函数:输入一个正整数n,当n为偶数时,调用函数求解1/2+1/4+…+1/n,当n为奇数时,调用函数1/1+1/3+…1/n

1

第四十三题

快速排序是对冒泡排序的一种改进。它的基本思想是:通过一次循环遍历,将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到将整个数据变成有序序列。请使用Python3编程,将一组数列用快速排序的算法进行排序。

4679dbbfly1gelxozgdvyg207s05ytay

1

第四十四题

今天我学习了桶排序,方法是先将列表中的数分配到对应的桶里,再顺序将每个桶中的数输出,如下图所示。请使用Python3编程,将乱序列表用桶排序的算法进行排序。

4679dbbfly1gekqpa1pqvj20n40omn9r

1

第四十五题

一个机器人从原点(0,0)开始在平面中移动,可以通过给定的步骤向上、向下、向左、向右移动。比如,机器人运动的轨迹如下:

UP 5
DOWN 3
LEFT 3
RIGHT 2

前面的单词是方向,后面的数字是步骤(也就是移动的步长)。请使用Python3编程,计算一系列运动之后,当前位置和原点的距离。如果距离是浮点数,则只打印最接近的整数。

1

第四十六题

今天我学习了迭代器和生成器的概念。这一概念在海量数据分析、人工智能方面应用广泛。请使用Python3编程,用生成器定义一个类,该生成器可以在给定范围0和n之间迭代可被7整除的数字。

1

第四十七题

今天我学习了约瑟夫环的问题。约瑟夫环是一个经常出现在计算机科学和数学中的问题,并不难,题目的变化形式很多,求解的方法也很多。比如,用约瑟夫环解决报数的问题:有n个人围成一圈,顺序排号。从第一个人从1到3开始报数,报到3的人退出,问最后留下的是最初的几号?请用Python3编写程序解决这个问题。

1

第四十八题

小松鼠采集松果,晴天每天可以采集20个,雨天每天可以采集12个。一连几天它一共采了112个松果,平均每天采14个,请问这些天有几天下雨了?请使用Python3编程解题。

1

第四十九题

小明有5本新书,要借给A、B、C 这三位小朋友,若每人每次只能借1本,请用Python语言计算出有多少种不同的借法?

1

第五十题

如果a+b+c=1000,且a2+b2=c2a^2+b^2=c^2(a,b,c为自然数),请用Python语言编程求出a,b,c的可能组合。

1

51~75

第五十一题

我国古代数学家张丘建在《算经》一书中曾提出过著名的“百钱买百鸡”问题。该问题叙述如下:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,则翁、母、雏各几何?翻译过来,意思就是公鸡一个五元,母鸡一个三元,小鸡三个一元。现在要用一百元买一百只鸡,请用Python语言编程算出公鸡、母鸡、小鸡各有多少只?一共有多少种组合?

1

第五十二题

如果有4个不同的正整数m、n、p、q,满足(7-m)(7-n)(7-p)(7-q)=4,请用Python语言求出 m+n+p+q的和。

1

第五十三题

今天,我试着用Python语言来解释什么是哥德巴赫猜想,这是数学上几百年来都未解决的问题。哥德巴赫猜想的基本表述是:“任一大于2的偶数,都可表示成两个素数之和。” 计算机的运行速度很快,我们就先设定从4开始到100,000的偶数,用计算机来验证看看是否符合哥德巴赫猜想。

1

第五十四题

昨天在科学网上看到这样一个新闻《越南小学数学题难倒博士》,题目来自越南保禄小学三年级,报道称该题难倒上至博士,下至家长。我用Python语言试着求解了一下。

4679dbbfly1gfg1eqcxi6j20n207ktap

1

第五十五题

有一个自然数,它被2除余1,被3除余2,被4除余3,被5除余4,被6除余5,被7除余6,被8除余7,被9除余8,请用Python语言求出这个数。

1

第五十六题

历史上有许多计算圆周率π的公式,其中,格雷戈里和莱布尼茨(下图)发现了下面的公式:π =4( 1 - 1/3 + 1/5 - 1/7 …) ,如果我们四舍五入保留它的两位小数,那么累积1项是:4.00,累积2项是:2.67,累积3项是:3.47……请用Python语言写出它累积100项是多少。

\begin{equation}\frac{\pi}{4}=\sum_{k=0}^{\infty} \frac{(-1)^{k}}{2 k+1}\end{equation}
1

第五十七题

计算π值的办法,各有各的妙招。1777年法国数学家布丰提出:“在平面上画一组间距为a的平行线,将一根长度为L(L<=a)的针任意掷在平面上,求此针与平行线中任意一条相交的概率。现已知这个概率是:p=(2L)/(πa)。请用Python语言调用Turtle库来绘画,计算π的值。

4679dbbfly1gfbgzbrsmpg206y06tu17

1

第五十八题

圆周率π的计算方式有许多人用各种方式都计算过。最早可以追溯到南北朝时期,祖冲之先生就计算过π值。今天数学上把他计算的精度355/113 称为“祖率”。今天有了Python语言,我们用概率的方式,即蒙特卡罗方法,来编程计算它。

4679dbbfly1gf9afnbkqjg20em0f8tfm

1

第五十九题

今天我做了这道题,复习异或运算符的知识点:有5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果。A选手说:B第二,我第三;B选手说:我第二,E第四;C选手说:我第一,D第二;D选手说:C最后,我第三;E选手说:我第四,A第一。比赛结束后,每位选手都说对了一半,请用Python3编程,确定比赛的名次。

1

第六十题

今天我学着用Python3来解答一个C语言中的经典问题“狐狸找兔子”:围绕着山顶有10个洞,一只狐狸和一只兔子各住一个洞。狐狸要吃兔子,兔子说:“你吃我可以,但必须先找到我,我就藏在这10个洞中。把洞从1~10编号,你从10号洞出发,先到1号洞找我;第二次隔1个洞找我,第三次隔2个洞找我,依此类推,次数不限。若能找到我,你就可以饱餐一顿。不过在没有找到我之前不能停下来。”狐狸从早到晚找了1000次,仍没有找到兔子。请朋友们和我一起试着解解看,兔子究竟藏在哪个洞里?

1

第六十一题

某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用得到的和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。请用Python3写一个小程序,帮助该公司将已加密传输来的数据进行解码。

1

第六十二题

所谓“勾股数”,就是指能够构成直角三角形三条边的三个正整数a、b、c。请用Python语言编程,求出100以内(不包含100)的所有勾股数。

1

第六十三题

任何一个数字不全相同的整数,经有限“重排求差”操作,总会得某一个或一些数,这些数即为黑洞数。“重排求差”操作即把组成该数的数字重排后得到的最大数减去重排后得到的最小数,例如207,“重排求差”操作序列是720-027=693,963-369=594,954-459=495,再做下去就不变了,再用208算一次,也停止到495,所以我们说495就是三位黑洞数。请用Python语言编程,求三位数中的“黑洞数”。

1

第六十四题

请用Python语言编程,求13的13次方的最后三位数。

1

第六十五题

如果一个整数等于其各个数字的立方和,则该数称为“阿姆斯特朗数”(亦称为自恋性数)。如:$153=13+53+3^3 $就是一个“阿姆斯特朗数”。请用Python语言编程,求三位数的所有“阿姆斯特朗数”。

1

第六十六题

自守数是指一个数的平方的尾数等于该数自身的自然数。例如:52=25252=625762=57765^2=25,25^2=625,76^2=5776,9376^2=87909376。请用Python语言编程,求出100,000以内的自守数。

1

第六十七题

如果整数A的全部因子(包括1,不包括A本身)之和等于B,且整数B的全部因子(包括1,不包括B本身)之和等于A,则将整数A和B称为亲密数。请用Python语言编程,求3000以内的全部亲密数。

1

第六十八题

现在我们需要将5元人民币纸币兑换成1元、5角和1角的硬币,请用Python语言计算出共有多少种不同的兑换方法。

1

第六十九题

马克思手稿中有一道趣味数学题:有30个人,其中有男人、女人和小孩,他们在同一家饭馆吃饭,总共花了50先令。已知每个男人吃饭需要花3先令,每个女人吃饭需要花2先令,每个小孩吃饭需要花1先令,请用Python语言编程求出男人、女人和小孩各有几人?

1

第七十题

相传国际象棋是古印度舍罕王的宰相达依尔发明的。舍罕王十分喜爱象棋,决定让宰相自己选择何种赏赐。这位聪明的宰相指着8*8共64格的象棋棋盘说:“陛下,请您赏给我一些麦子吧。就在棋盘的第1格中放1粒,第2格中放2粒,第3格中放4粒,以后每一格都比前一格增加一倍,依次放完棋盘上64格,我就感激不尽了。”舍罕王听罢让人扛来一袋麦子,他要兑现他的许诺。请用Python语言求出:舍罕王要给宰相赏赐的小麦折算下来,基于中国2018年小麦产量的话,需要多少年份的产量?(中国2018年小麦产量1.5亿吨,假定一斤小麦大约有12500粒。)

1

第七十一题

魔术师利用一副牌中的13张黑桃,预先将它们排好后叠在一起,并使牌面朝下。然后他对观众说:“我不看牌,只要数数就可以猜到每张牌是什么,我大声数数,你们听,不信?你们就看。” 魔术师将最上面的那张牌数为1,把它翻过来正好是黑桃A,他将黑桃A放在桌子上,然后按顺序从上到下数手中的余牌,第二次数1、2,将第一张牌放在这迭牌的下面,将第二张牌翻过来,正好是黑桃2,也将它放在桌子上,第三次数1、2、3,将前面两张依次放在这迭牌的下面,再翻第三张牌正好是黑桃3,这样依次进行,将13张牌全部翻出来,准确无误。请用Python语言编程计算出魔术师手中的牌原始次序是怎样安排的?

1

第七十二题

一辆以固定速度行驶的汽车,司机在上午10点看到里程表上的读数是一个对称数(即这个数从左向右读和从右向左读是完全一样的),为95859。两小时后里程表上出现了一个新的对称数(95859的下一个),该数字仍为五位数。问该车的速度是多少?新的对称数是多少?

1

第七十三题

小明把一缸金鱼分5次出售:第1次卖出全部的一半加1/2条;第2次卖出余下的三分之一加1/3条;第3次卖出余下的四分之一加1/4条;第4次卖出余下的五分之一加1/5条;最后卖出余下的11条。请用Python语言编程求出原来鱼缸中共有多少条鱼。

1

第七十四题

一个口袋中放有12个球,已知其中3个是红的,3个是白的,6个是黑的,现从中任取8个,请用Python语言编程计算共有多少种可能的颜色搭配?

1

第七十五题

10个小孩围成一圈分糖果。老师分给第1个小孩10块,第2个小孩2块,第3个小孩8块,第4个小孩22块,第5个小孩16块,第6个小孩4块,第7个小孩10块,第8个小孩6块,第9个小孩14块,第10个小孩20块。然后所有的小孩同时将手中的糖分一半给右边的小孩。糖块为奇数的人可向老师再要一块。请用Python语言编程序计算,经过几次这样的操作后,大家手中的糖块数能一样多?每人各有多少糖块?

1

76~100

第七十六题

假设银行整存整取存款不同期限的月息利率为:
0.63% 期限为1年
0.66% 期限为2年
0.69% 期限为3年
0.75% 期限为5年
0.84% 期限为8年
现在已知某人手上有2000元,要求通过Python语言计算选择出一种存钱方案,使得这笔钱存入银行20年后获得的利息最多,假定银行对超出存款期限的那部分时间不收取利息。

1

第七十七题

假设某银行一年整存零取得月息为0.63%,现某人手中有一笔钱,他打算在今后的五年中,每年年底取出1000元,到第5年刚好取完,请用Python语言算出此人存钱时应该存入多少?

1

第七十八题

一元三次方程式有各种解法,请用Python语言编写一函数,实现用牛顿迭代法求方程ax3+bx2+cx+d=0ax^3+bx^2+cx+d=0在x=1附近的一个实根。主函数完成各系数值的输入及所求得的根值的输出。牛顿迭代法的公式如图示:

4679dbbfly1gfoiaz52qjj20hs09ydkx

1

第七十九题

一辆卡车违反交通规则,撞人逃逸。现场有三人目击事件,但都没有记住车号,只记下车号的一些特征。甲说:车号的前两位数字是相同的;乙说:车号的后两位数字是相同的,但与前两位不同;丙是数学家,他说:四位的车号刚好是一个整数的平方。请用Python语言根据以上线索求出车号。

1

第八十题

中国有句俗语叫“三天打鱼两天晒网”。某人从1970年1月1日起开始“三天打鱼两天晒网”,请用Python语言计算出这个人在之后的某一天是“打鱼”还是“晒网”。

1

第八十一题

请用Python语言编程,按递增顺序依次列出所有分母为40、分子小于40的最简分数。分子和分母是互质的分数,叫做最简分数,如2/3,8/9,3/8等。

1

第八十二题

请用Python语言编程,计算下列多项式的值。比如说,从键盘上输入50后,输出为1.718282。

\begin{equation}S=1+\frac{1}{1 \times 2}+\frac{1}{1 \times 2 \times 3}+\ldots+\frac{1}{1 \times 2 \times 3 \times \ldots \times 50}\end{equation}
1

第八十三题

请用Python语言编程,比较两个分数的大小。

1

第八十四题

请将不超过1993的所有素数从小到大排成第一行,第二行上的每个数都等于它上面相邻两个素数之差。使用Python语言编程求出:第二行数中是否存在若干个连续的整数,它们的和恰好是1898?如果存在的话,又有几种这样的情况?两行数据分别如下:
第一行:2 3 5 7 11 13 17……1979 1987 1993
第二行:1 2 2 4 2 4…… 8 6

1

第八十五题

请用Python语言编程,从小到大输出所有4位数的可逆素数(为了美观整洁,每行输出20个)。可逆素数的定义是:一个素数将其各位数字的顺序倒过来构成的反序数也是素数。

1

第八十六题

所谓孪生素数指的是间隔为2的两个相邻素数,因为他们之间的距离已经近的不能再近了,如同孪生兄弟一样,所以将这一对素数称为孪生素数。显然,最小的一对孪生素数是(3,5),我们可以写出3-100以内的孪生素数,一共有8对,分别是(3,5),(5,7),(11,13),(17,19),(29,31),(41,43),(59,61)和(71,73)。请用Python语言编程求出3-1000以内的所有孪生素数。

1

第八十七题

梅森数指的是形如2^n - 1的正整数,其中指数n是素数,即为Mn。如果一个梅森数是素数,则称其为梅森素数。例如22-1=3、23-1=7都是梅森素数。当n=2,3,5,7时,Mn都是素数,但n=11时,Mn=M11=2^11-1=2047=23*89,显然不是梅森素数。目前仅发现51个梅森素数,最大的是M82589933(即2的82589933次方减1),有24862048位。梅森素数历来都是数论研究中的一项重要内容,也是当今科学探索中的热点和难点问题。请用Python语言编程,求出指数n<20的所有梅森素数。

1

第八十八题

有3对情侣结婚,假设3个新郎为A、B、C,3个新娘为X、Y、Z。有参加婚礼的人搞不清谁和谁结婚,所以去询问了这6位新人中的3位,得到的回答如下:新郎A说他要和新娘X结婚;新娘X说她的未婚夫是新郎C;而新郎C说他要和新娘Z结婚。听到这样的回答后,提问者以为他们都是在开玩笑,说的都是假话,并且他仍搞不清谁和谁结婚。现在请试着用Python语言编程,推导出到底哪位新郎和哪位新娘结婚?

1

第八十九题

现有张三、李四和王五三个人,张三说李四在说谎,李四说王五在说谎,而王五说张三和李四两人都在说谎。请用Python语言编程推出这三人中到底谁说的是真话,谁说的是假话?

1

第九十题

警察审问4名嫌疑犯。现在已知,这4人当中仅有一名是窃贼,还知道这4人中有人说谎。这4个人给警察的回答如下:

  • 甲说:“乙没有偷,是丁偷的。”
  • 乙说:“我没有偷,是丙偷的。”
  • 丙说:“甲没有偷,是乙偷的。”
  • 丁说:“我没有偷。”
    请使用Python语言编程,根据这四个人的回答来判断谁是窃贼,以及每个人是否说了谎。
1

第九十一题

某项任务需要在A、B、C、D、E、F 这6个人中挑选人来完成,但挑选时受限于以下的条件:

  • A和B两个人至少去一人
  • A和D不能同时去
  • A、E和F三人中要挑选两个人去
  • B和C同时去或者都不去
  • C和D两人中只能去一个
  • 如果D不去,那么E也不去
    请用Python语言编程,求出应该让哪几个人去完成这项任务。
1

第九十二题

诚实族和说谎族是来自两个岛屿的不同民族,已知诚实族的人永远说真话,而说谎族的人永远说假话。有一天谜语博士遇到3个人。目前已知这三个人可能是来自诚实族或说谎族的。为了调查这3个人到底来自哪个族,博士分别问了他们问题,下面是他们的对话:
博士问:“你们是什么族的?”
第1个人回答说:“我们之中有2个来自诚实族。”
第2个人说:“不要胡说,我们三个人中只有一个是来自诚实族的。”
第3个人接着第2个人的话说:“对,确实只有一个是诚实族的。”
请根据他们的回答,试着用Python语言编程,判断出这三个人分别是来自哪个族的。

1

第九十三题

有A、B、C、D、E 五个人,每个人额头上都贴了一张黑色或白色的纸。5人对坐,每个人都可以看到其他人额头上纸的颜色。5人相互观察后,
A说:“我看见有3人额头上贴的是白纸,1人额头上贴的是黑纸。”
B说:“我看见其他4人额头上贴的都是黑纸。”
C说:“我看见1人额头上贴的是白纸,其他3人额头上贴的是黑纸。”
D说:“我看见4人额头上贴的都是白纸。”
E什么也没说。
现在已知额头上贴黑纸的人说的都是谎话,额头上贴白纸的人说的都是实话。请用Python语言编程,推导出这5个人谁的额头上贴的是白纸,谁的额头上贴的的黑纸?

1

第九十四题

由计算机随机产生一个四位正整数,请人猜这四位数是多少。输入一个四位数后,计算机首先判断其中有几位猜对了,并且对的数字中有几位的位置也是正确的,将结果显示出来,给人以提示,请人再猜,直到人猜出计算机随机产生的四位数是多少为止。
例如:计算机产生一个四位正整数“1234”请人猜,可能的提示如下
1122 2A1B
3344 2A1B
3312 3A0B
4123 4A0B
1243 4A2B
1234 4A4B
游戏结束。请用Python语言编程实现该游戏。

1

第九十五题

骰子是一个有六个面的正方体,每个面分别印有1-6之间个数的小圆点代表点数。假设这个游戏的规则是:两个人轮流掷骰子6次,并将每次投掷的点数累加起来。点数多者获胜,点数相同则为平局。请用Python语言编写程序模拟这个游戏的过程,并求出玩100盘之后谁是最终的获胜者。

1

第九十六题

请用Python语言编写一个程序,将下图这个3行3列的矩阵转置。

\begin{equation}\left(\begin{array}{lll} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{array}\right)==>\left(\begin{array}{lll} 1 & 4 & 7 \\ 2 & 5 & 8 \\ 3 & 6 & 9 \end{array}\right)\end{equation}
1

第九十七题

现在有一串字符需要输入,规定输入的字符串中只包含字母和号。请用Python语言编写程序,实现以下功能:除了字符串前后的符号之外,将字符串中其他的号全部删除。
例如,假设输入的字符串为****A*BC*DEF*G********,删除串中的
号后,字符串变为****ABCDEFG********

1

第九十八题

请用Python语言编写程序,实现以下功能:在字符串中的所有数字字符前加一个$字符。例如:输入A1B23CD45,输出A$1B$2$3CD$4$5

1

第九十九题

使用Python语言定义函数findall,实现对字符串find方法的进一步封装,要求返回符合要求的所有位置的起始下标,如字符串"helloworldhellopythonhelloc++hellojava",需要找出里面所有的"hello"的位置,最后将返回一个元组(0,10,21,29),即将h的下标全部返回出来,而find方法只能返回第一个。

1

第一百题

用python语言绘制春天的樱花树。

WTF ! !