问题求解——for 循环
以def开头的,叫做函数,可以去搜教程,这样下节课就不用听了
枚举因数,以及素数那关,有结论 (看到试除法就可以) 是枚举到$ \sqrt{n} $就可以算完所有因子
第1关 打印几何图形
n = int(input())
########## Begin ##########
tol=n*2-1
for i in range(1,n+1):
now=i*2-1
k=int((tol-now)/2)
for i in range(0,k):
print(" ",end="")
for i in range(0,now):
print("*",end="")
for i in range(0,k):
print(" ",end="")
print("")
########## End ##########
第2关 用物理知识煮鸡蛋
import math
########## Begin ##########
def run(x):
return 437.3*((math.log2((100-x)/35)/math.log2(math.e)))
for i in range(-10,40,5):
print("%d\t%d" % (i,run(i)))
########## End ##########
第3关 自然常数
n = int(input())
########## Begin ##########
def fac(i):
if i==0:
return 1
ans=1
for i in range(1,i+1):
ans=ans*i
return ans
e=0
for i in range(0,n+1):
e=e+1/fac(i)
########## End ##########
print('%.14f' % e)
第4关 泰勒级数
import math
n = int(input())
x = eval(input()) #输入时采用度数,如30表示30°
x = math.radians(x) #将度转换为弧度,如30°转换为π/6,泰勒展开式中的x要使用弧度
########## Begin ##########
def fun():
ans=0
for i in range(0,n+1):
ans=ans+((-1)**(i))*(x**(i*2+1))/math.factorial(2*i+1)
return ans
if n<0:
print("输入错误")
else:
print("%.8f" % fun())
########## End ##########
第5关 完全数
import math
n = int(input())
########## Begin ##########
def check():
ans=1
for i in range(2,int(math.sqrt(n)+1)):
if i*i==n:
ans=ans+i
return int(ans)==n
if n%i==0:
ans=ans+i
ans=ans+n/i
return int(ans)==n
if check():
print("True")
else:
print("False")
########## End ##########
第6关 完全数(续)
import math
########## Begin ##########
def check(x):
ans=1
for i in range(2,int(math.sqrt(x)+1)):
if i*i==x:
ans=ans+i
return int(ans)==x
if x%i==0:
ans=ans+i
ans=ans+x/i
return int(ans)==x
for i in range(2,1001):
if check(i):
print(i)
########## End ##########
第7关 素数
import math
x=int(input())
########## Begin ##########
def check(x):
for i in range(2,int(math.sqrt(x)+1)):
if i*i==x:
return 0
if x%i==0:
return 0
return 1
if check(x):
print("True")
else:
print("False")
########## End ##########
第8关 解析解和数值解
import math
import numpy as np
n = int(input())
########## Begin ##########
def f(x):
return ((math.e)**x)*(math.sin(x))
st=math.pi/n
S=0
for i in np.arange(st,math.pi+(3/4)*st,st):
S=S+(f(i)+f(i-st))*st/2
########## End ##########
print('%.4f' % S)

浙公网安备 33010602011771号