1.写出下列程序的运行结果
i=1
while i+1:
if i>4:
print(i)
i+=1
break
print(i)
i+=2
2.写出下列程序的运行结果
sum=j=1
while j <=3:
f=1
for i in range(2,2*(j+1)):
f*=i
sum+=f
j+=1
print("sum=", sum)
3.阅读下面的程序,程序的功能是什么?
import math
n=0
for m in range(101,201,2):
k=int(math.sqrt(m))
for i in range(2, k+2):
if m%i==0:
break
if i==k+1:
if n%10==0:
print()
print(m,end=" ")
n+=1
4.从键盘输入 5 组数,每组有 6 个数,求出每组中的元素绝对值之和的最大者 和最小者,请补充程序
max1=min1=0
for i in range(1,6):
sum=0
for j in range(1,7):
x=int(input())
sum+=abs(x)
if sum>max1:
max1=sum
if i==1 or sum<min1:
min1=sum
print(max1,min1)
5.利用下列公式
(1)计算n=1000时π的近似值
# 3997 3999
n=4*int(input("请输入n:"))
sum=0
for i in range(1,n,2):
if((i+1)%4==0):
i=-i
sum+=1/i
print("当n取{0}时,最后一项为1/{1}={2}\n此时π的近似值是{3}".format(n/4,i,1/i,4.0*sum))
(2)求π的近似值,直到最后一项的绝对值小于10−6为止
import math
n=1
sum=0
while True:
if(1/n<math.pow(10,-6)):
break
if((n+1)%4==0):
n=-n
sum+=1/n
n=abs(n)+2
print("当n取{0}时,最后一项绝对值为{1}\n此时π的近似值是{2}".format(n,1/n,4*sum))
6.有数列,求数列前20项求和,2/1,3/2,5/3,8/5,13/8,……
n=int(input("请输入求和的项数n:"))
x,y,sum=2,1,0
num=1
while True:
sum+=x/y
num+=1
if(num>n):
break
temp=x
x=x+y
y=temp
print("数列的前{0}项之和是{1}".format(n,sum))
7.求满足如下条件的 3 位数,它除以 9 的商等于它各位数字的平方和。例如 224,它除以 9 的商为 24,而22 + 22 + 42 = 24
for i in range(100,1000):
bit=i%10
ten=int((i%100)/10)
hundred=int(i/100)
if (int(i/9)==(bit*bit+ten*ten+hundred*hundred)):
print(i)
8.如果一个整数等于它的因子(不包括该数本身)之和,则称该数为完数。例如,6 的因 子是 1,2,3,因为 6=1+2+3,因此 6 是完数。找出 1000 以内的所有完数
for i in range(1,1000):
i1=i
for j in range(1,i):
if(i%j==0):
i1-=j
if(i1==0):
print(i)