PTA-MOOC《Python程序设计浙⼤版》题⽬集第四章题⽬及代码答案7-1 ⽣成3的乘⽅表 (15分)
输⼊⼀个⾮负整数n,⽣成⼀张3的乘⽅表,输出3
~3
n
的值。可调⽤幂函数计算3的乘⽅。
特效软件snapchat
输⼊格式:
输⼊在⼀⾏中给出⼀个⾮负整数n。
输出格式:
按照幂的递增顺序输出n+1⾏,每⾏格式为“pow(3,i) = 3的i次幂的值”。题⽬保证输出数据不超过长整型整数的范围。
输⼊样例:
3
输出样例:
pow(3,0)=1
pow(3,1)=3
pow(3,2)=9
pow(3,3)=27
代码
n=int(input())
for i in range(n+1):
print("pow(3,%d) = %d"%(i,pow(3,i)))
7-2 统计素数并求和 (20分)
本题要求统计给定整数M和N区间内素数的个数并对它们求和。
java有几个框架
输⼊格式:
输⼊在⼀⾏中给出两个正整数M和N(1≤M≤N≤500)。
输出格式:
在⼀⾏中顺序输出M和N区间内素数的个数以及它们的和,数字间以空格分隔。
输⼊样例:
1031
输出样例:
7143
黄页88网和中国供应商网代码
python3基础教程慕课版电子版
m,n=input().split(" ")
count=0
flag=1
num=0
for i in range(int(m),int(n)+1):
for j in range(2,i):
if i % j ==0:
break
else:
flag+=1
if flag == i-1:
count+=i
num+=1
flag=1
print("%d %d"%(num,count))
7-3 猴⼦吃桃问题 (15分)
⼀只猴⼦第⼀天摘下若⼲个桃⼦,当即吃了⼀半,还不过瘾,⼜多吃了⼀个;第⼆天早上⼜将剩下的桃⼦吃掉⼀半,⼜多吃了⼀个。以后每天早上都吃了前⼀天剩下的⼀半加⼀个。到第N天早上想再吃时,见只剩下⼀个桃⼦了。问:第⼀天共摘了多少个桃⼦?
输⼊格式:
输⼊在⼀⾏中给出正整数N(1<N≤10)。
输出格式:
在⼀⾏中输出第⼀天共摘了多少个桃⼦。
输⼊样例:
3
输出样例:
10
代码
n=int(input())
count=1
for i in range(n-1):
count=(count+1)*2
print(count)
7-4 验证“哥德巴赫猜想” (20分)
数学领域著名的“哥德巴赫猜想”的⼤致意思是:任何⼀个⼤于2的偶数总能表⽰为两个素数之和。⽐如:24=5+19,其中5和19都是素数。本实验的任务是设计⼀个程序,验证20亿以内的偶数都可以分解成两个素数之和。
输⼊格式:
输⼊在⼀⾏中给出⼀个(2, 2 000 000 000]范围内的偶数N。
输出格式:
在⼀⾏中按照格式“N = p + q”输出N的素数分解,其中p ≤ q均为素数。⼜因为这样的分解不唯⼀(例如24还可以分解为7+17),要求必须输出所有解中p最⼩的解。
输⼊样例:
24
输出样例:
24=5+19
代码
def a(i):
flag=1
if i==1:
return0
for j in range(2,int(i**0.5)+1):
if i%j==0:
flag=0
break
return flag
n=int(input())
for i in range(1,n//2+1):
if a(i)and a(n-i):
print("%d = %d + %d"%(n,i,n-i))
break
7-5 求e的近似值 (15分)
⾃然常数 e 可以⽤级数 1+1/1!+1/2!+…+1/n!+… 来近似计算。本题要求对给定的⾮负整数 n,求该级数的前 n+1 项和。
输⼊格式:
输⼊第⼀⾏中给出⾮负整数 n(≤1000)。
输出格式:
在⼀⾏中输出部分和的值,保留⼩数点后⼋位。
输⼊样例:
10
输出样例:
2.71828180
代码
def a(n):
num=1
for i in range(1,n+1):
num*=i
return num
n=int(input())
sum=0
for i in range(1,n+1):
sum+=1/a(i)
print("%.8f"%(sum+1))
7-6 输出前 n 个Fibonacci数 (15分)
本题要求编写程序,输出菲波那契(Fibonacci)数列的前N项,每⾏输出5个,题⽬保证输出结果在长整型范围内。Fibonacci数列就是满⾜任⼀项数字是前两项的和(最开始两项均定义为1)的数列,例如:1,1,2,3,5,8,13,…。
输⼊格式:
输⼊在⼀⾏中给出⼀个整数N(1≤N≤46)。
输出格式:
输出前N个Fibonacci数,每个数占11位,每⾏输出5个。如果最后⼀⾏输出的个数不到5个,也需要换⾏。
如果N⼩于1,则输出"Invalid."
输⼊样例1:
7
11235
813
输⼊样例2:
输出样例2:
Invalid.
n=int(input())
count=0
data=[1,1]
for i in range(2,n+1):
data.append(data[i-1]+data[i-2])
if n >=1:
for i in range(0,n):
num=data[i]
count+=1
if count %5!=0and i != n-1:
print("%11d"%num,end="")
else:
print("%11d"%num)
else:
print("Invalid.")
7-7 统计学⽣平均成绩与及格⼈数 (15分)
本题要求编写程序,计算学⽣们的平均成绩,并统计及格(成绩不低于60分)的⼈数。题⽬保证输⼊与输出均在整型范围内。
输⼊格式:
输⼊在第⼀⾏中给出⾮负整数N,即学⽣⼈数。第⼆⾏给出N个⾮负整数,即这N位学⽣的成绩,其间以空格分隔。
输出格式:
按照以下格式输出:
average = 成绩均值
count = 及格⼈数
其中平均值精确到⼩数点后⼀位。
输⼊样例:
5
7754927360
输出样例:
average =71.2
count =4
代码
count=0
if n ==0:
print("average = 0.0")
print("count = 0")
else:
data=input().split(" ")
data=list(map(int,data))
for i in range(n):
if int(data[i])>=60:
count+=1
print("average = %.1f"%(sum(data)/n))
print("count = %d"%count)
7-8 求分数序列前N项和 (15分)20个常见软件测试面试题
本题要求编写程序,计算序列 2/1+3/2+5/3+8/5+… 的前N项之和。注意该序列从第2项起,每⼀项的分⼦是前⼀项分⼦与分母的和,分母是前⼀项的分⼦。
输⼊格式:
输⼊在⼀⾏中给出⼀个正整数N。
输出格式:
在⼀⾏中输出部分和的值,精确到⼩数点后两位。题⽬保证计算结果不超过双精度范围。
输⼊样例:
20
输出样例:
32.66
代码
n=int(input())
data=[1,2]
sum=0
for i in range(2,n+1):
data.append(data[i-1]+data[i-2])
for i in range(n):
sum+=data[i+1]/data[i]
print("%.2f"%sum)
7-9 查询⽔果价格 (15分)
给定四种⽔果,分别是苹果(apple)、梨(pear)、桔⼦(orange)、葡萄(grape),单价分别对应为3.00元/公⽄、2.50元/公⽄、4.10元/公⽄、10.20元/公⽄。
⾸先在屏幕上显⽰以下菜单:
[1] apple
[2] pear
[3] orange
[4] grape
[0] exit
⽤户可以输⼊编号1~4查询对应⽔果的单价。当连续查询次数超过5次时,程序应⾃动退出查询;不到5次⽽⽤户输⼊0即退出;输⼊其他编号,显⽰价格为0。
fprintf函数使用输⼊格式:
输⼊在⼀⾏中给出⽤户连续输⼊的若⼲个编号。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。