首页 > 编程语言 >算法-练习

算法-练习

时间:2023-02-22 18:46:06浏览次数:40  
标签:end cust 练习 range 算法 num time print

题1:
# 有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?
from time import time

start_time = time()

for a in range(0, 1001):
for b in range(0, 1001):
# for c in range(0, 1001):
c = 1000-a-b
# if 1000 == a + b + c and a ** 2 + b ** 2 == c ** 2:
if a ** 2 + b ** 2 == c ** 2:
# print("a, b, c: %d,%d,%d" % (a, b, c))
print(f'{a}, {b}, {c}')

end_time = time()
cust_time = end_time - start_time
print("cust_time: %s" % cust_time)

"""
结果:
a, b, c: 0,500,500
a, b, c: 200,375,425
a, b, c: 375,200,425
a, b, c: 500,0,500
cust_time: 1.0411646366119385
"""
题2:
# 有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?

for i in range(1, 5):
for j in range(1, 5):
for k in range(1, 5):
if (i != j) and (i != k) and (j != k):
print(i, j, k, end='//')

"""
结果:
1 2 3//1 2 4//1 3 2//1 3 4//1 4 2//1 4 3//2 1 3//2 1 4//2 3 1//2 3 4//2 4 1//2 4 3//3 1 2//3 1 4//3 2 1//3 2 4//
3 4 1//3 4 2//4 1 2//4 1 3//4 2 1//4 2 3//4 3 1//4 3 2//
"""

题3:
# 给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。


def func(m, n):
m.extend(n)
num = len(m)
if num % 2 == 0:
i = int((num / 2) - 1)
k = i + 1
middle_num = (m[i] + m[k]) / 2
print(middle_num)
else:
j = int((num + 1) / 2)
print(m[j - 1])


m = [1, 2]
# n = [3, 4] #偶数
n = [3, 4, 6]

func(m, n)

"""
结果:
2.5
3
"""


标签:end,cust,练习,range,算法,num,time,print
From: https://www.cnblogs.com/zxy01/p/17145466.html

相关文章