python程式設計------迅雷2019秋招線上筆試題
阿新 • • 發佈:2018-12-09
1.勾股數,是由三個正整陣列成的陣列;能符合勾股定理 a*a + b*b = c*c , (a, b, c) 的正整數解。如果 (a, b, c) 是勾股數,它們的正整數倍數,也是勾股數。如果 (a, b, c) 互質,它們就稱為素勾股數。給定正整數N,計算出小於或等於N的素勾股數個數。(0 < a <= b <= c <= N)
示例:
輸入 10
輸出 1
我寫的程式碼如下,望大佬們批評指正:
num = int(input('num:'))
res = 0
n = 0
M = [i for i in range(1,num+1)]
N = [i**2 for i in range(1,num+1)]
for i in N:
for j in N[n:]:
if i + j in N:
a = M[N.index(i)]
b = M[N.index(j)]
c = M[N.index(i+j)]
for k in range(2,a+1):
if a%k == 0 and b%k == 0 and c%k == 0:
break
else:
res += 1
n += 1
print(res)
(第二題題幹是這樣,後面不記得了,動態規劃這一塊不是很熟練,當時沒寫出來,估計涼了) 2.有紅黑兩種顏色的方塊積木,紅色代表正數A,黑色代表負數B。選出17塊積木排成一排,使得任意相鄰7塊積木之和都小於0。如何挑選才能使17塊積木之和最大,最大值是多少?