01.アルゴリズム(Algorithm)
1.アルゴリズムとは?
アルゴリズム:いかなる問題を解決するために制定された一連のステップ
正しいアルゴリズムは「いずれの場合も実行結果は同じ」です.アルゴリズムの実行結果が場合によっては正しいが、場合によっては間違っている場合は、正しいアルゴリズムとは言えない.
2.アルゴリズムの例
1)3つの整数の最も値のアルゴリズムを求めます
def max3(a, b, c):
maximum = a
if b > maximum: maximum = b
if c > maximum: maximum = c
return maximum
print(f"max3(1,2,3) = {max3(1,2,3)}")
print(f"max3(1,3,2) = {max3(1,3,2)}")
print(f"max3(2,1,3) = {max3(2,1,3)}")
print(f"max3(2,3,1) = {max3(2,3,1)}")
print(f"max3(3,1,2) = {max3(3,1,2)}")
print(f"max3(3,2,1) = {max3(3,2,1)}")
>>> max3(1,2,3) = 3
max3(1,3,2) = 3
max3(2,1,3) = 3
max3(2,3,1) = 3
max3(3,1,2) = 3
max3(3,2,1) = 3
2)連続整数の和を求めるアルゴリズム
def sum_atob(a, b):
sum = 0
for i in range(a, b+1):
sum += i
return sum
print(f"sum_atob(1,2) = {sum_atob(1,2)}")
print(f"sum_atob(1,3) = {sum_atob(1,3)}")
print(f"sum_atob(1,4) = {sum_atob(1,4)}")
print(f"sum_atob(1,5) = {sum_atob(1,5)}")
>>> sum_atob(1,2) = 3
sum_atob(1,3) = 6
sum_atob(1,4) = 10
sum_atob(1,5) = 15
3)3つの整数の中心値を求めるアルゴリズム
def med3(a, b, c):
if a>=b:
if b>=c:
return b
elif c>=a:
return a
else:
return c
elif a>=c:
return a
else:
if c>=b:
return b
else:
return c
print(f"med3(1,2,3) = {med3(1,2,3)}")
print(f"med3(1,3,2) = {med3(1,3,2)}")
print(f"med3(2,1,3) = {med3(2,1,3)}")
print(f"med3(2,3,1) = {med3(2,3,1)}")
print(f"med3(3,1,2) = {med3(3,1,2)}")
print(f"med3(3,2,1) = {med3(3,2,1)}")
print(f"med3(1,1,2) = {med3(1,1,2)}")
print(f"med3(1,2,1) = {med3(1,2,1)}")
print(f"med3(2,1,1) = {med3(2,1,1)}")
print(f"med3(1,1,1) = {med3(1,1,1)}")
>>> med3(1,2,3) = 2
med3(1,3,2) = 2
med3(2,1,3) = 2
med3(2,3,1) = 2
med3(3,1,2) = 2
med3(3,2,1) = 2
med3(1,1,2) = 1
med3(1,2,1) = 1
med3(2,1,1) = 1
med3(1,1,1) = 1
Reference
この問題について(01.アルゴリズム(Algorithm)), 我々は、より多くの情報をここで見つけました https://velog.io/@marigold/01.-알고리즘-Algorithmテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol