1부터 10까지 자연수를 각각 제곱해 더하면 다음과 같습니다 (제곱의 합).
12 + 22 + … + 102 = 385
1부터 10을 먼저 더한 다음에 그 결과를 제곱하면 다음과 같습니다 (합의 제곱).
(1 + 2 + … + 10)2 = 552 = 3025
따라서 1부터 10까지 자연수에 대해 “합의 제곱”과 “제곱의 합” 의 차이는 3025 – 385 = 2640 이 됩니다.
그러면 1부터 100까지 자연수에 대해 “합의 제곱”과 “제곱의 합”의 차이는 얼마입니까?
역시 그냥 구해서 뺐다.
합의 제곱이 제곱의 합보다 클테니, 따로 절대값을 구하진 않았다.
1
2
3
4
5
6
7
8
9
10
11
12
13
|
#!/usr/bin/env perl use 5.010; use strict; use warnings; my $a = 0; my $b = 0; foreach (1..100) { $b += $_**2; $a += $_; } say $a**2-$b; |