首先,本人專注于java專案,力戰c/c++演算法,所以python的語法好多都不太了解,雖然會做題,但要翻閱好多python語法知識.所以更新比較慢,本人主要卡在不是結果上,而是對結果的格式化上,這真的是...難以形容.各位小伙伴如果有比較好的經驗可以在評論區留言哦.
1.求最大素數(沒啥好說的,直接暴力)
import math
n = int(input())
list=0
for i in range(2,n):
a=0
for k in range(2,10):
if i%k==0:
a=1
if a==0:
list=i
print(list)
2.分解質因數(本來c++昨天剛寫過,今天換一種語言,我感覺寫程式兩種語言都搞混了,唉)
n = num = int(input()) #用num保留初始值
f = [] #存放質因數的串列
for j in range(int(num/2)+1): #判斷次數僅需該數字的一半多1次
for i in range(2, n):
t = n % i #i不能是n本身
if t == 0: #若能整除
f.append(i) #則表示i是質因數
n = n//i
break
if len(f) == 0: #若一個質因數也沒有
print('該數字沒有任何質因數,')
else: #若至少有一個質因數
f.append(n)
f.sort() #排下序
print(f)
3.N位水仙花數(老生常談了)
n = int(input())
list2=[]
for i in range(10**(n-1),10**n):
str1=str(i)
sum1=0
for j in str1:
num=int(j)
sum1+=num**n
if i==sum1:
list2.append(i)
for j in (list2):
print(j)
4.判斷閏年(重點是找到3個邊界條件,沒啥辦法,記住就行)
year = int(input())
if (year % 4) == 0:
if (year % 100) == 0:
if (year % 400) == 0:
print("True") # 整百年能被400整除的是閏年
else:
print("False")
else:
print("True") # 非整百年能被4整除的為閏年
else:
print("False")
5.完數(這個格式化輸出氣煞我也,耗費20多分鐘格式化)
k = int(input())
for i in range(2, 1000):
if k:
l1 = []
for j in range(1,i):
if i % j == 0:
l1.append(j)
num = sum(l1)
if num == i:
print ("%d="%i,sep='',end='')
for i in range(len(l1)):
if i == len(l1) - 1:
print ("%d"%l1[i],sep='',end='')
else:
print ("%d+"%l1[i],sep='',end='')
k = k-1
print("")
6.自定義冪函式(半分鐘)
def fun(x,n):
sum = 1
for i in range(n):
sum *= x
print(sum)
x,n = map(int,input().split())
fun(x,n)
7.累加函式(半分鐘)
def mysum(n):
sum = 0
for i in range(1,n+1):
sum += i
print(sum)
n = int(input())
mysum(n)
8.階乘(1分鐘)
def fun(n):
sum = 1
for i in range(1,n+1):
sum *= i
return sum
n = int(input())
result = 0
for i in range(1,n+1):
result += fun(i)
print(result)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/158677.html
標籤:Python
下一篇:十、Python入門-多執行緒
