pontz_rwのブログ

プログラミング等の備忘録

ITP1_10_D: Distance II

ミンコフスキー距離 | プログラミング入門 | Aizu Online Judge

数学に関する問題

解答

問題文で与えられた数式をコードにしていきます。

まず、xとyの距離をそれぞれ計算します。

次に、求めた距離をそれぞれp乗し、その合計を求めます。

そして、求めた合計をpの逆数乗します。

# coding: utf-8

n = input()
xs = map(float, input().split())
ys = map(float, input().split())
abs_d = [abs(x - y) for (x, y) in zip(xs, ys)]
d = [sum([i ** p for i in abs_d]) ** (1 / p) for p in range(1, 4)]
d.append(max(abs_d))

print(*d, sep='\n')