mirror of
https://github.com/TheAlgorithms/Ruby
synced 2025-02-10 20:48:11 +01:00
Merge pull request #201 from domix80/Problem_006
Feat: Project Euler Problem 6
This commit is contained in:
commit
2fd4ee7d50
1 changed files with 32 additions and 0 deletions
32
project_euler/problem_006/sol1.rb
Normal file
32
project_euler/problem_006/sol1.rb
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
#Project Euler Problem 6: #https://projecteuler.net/problem=6
|
||||||
|
|
||||||
|
#Sum square difference
|
||||||
|
|
||||||
|
#The sum of the squares of the first ten natural numbers #is,
|
||||||
|
# 1^2 + 2^2 + ... + 10^2 = 385
|
||||||
|
#The square of the sum of the first ten natural numbers #is,
|
||||||
|
# (1 + 2 + ... + 10)^2 = 55^2 = 3025
|
||||||
|
#Hence the difference between the sum of the squares of #the first ten
|
||||||
|
#natural numbers and the square of the sum is 3025 - 385 = 2640.
|
||||||
|
#Find the difference between the sum of the squares of the first one
|
||||||
|
#hundred natural numbers and the square of the sum.
|
||||||
|
|
||||||
|
def solution(num=10)
|
||||||
|
x = 1
|
||||||
|
y = 1
|
||||||
|
result = 1
|
||||||
|
gap = 3
|
||||||
|
while y < num
|
||||||
|
x += gap
|
||||||
|
gap += 2
|
||||||
|
y += 1
|
||||||
|
result += x
|
||||||
|
end
|
||||||
|
r_n_pow2_plus_n_pow2 = result
|
||||||
|
r_sum_n_pow2 = (((num / 2) + 0.5) * num) ** 2
|
||||||
|
|
||||||
|
r_sum_n_pow2 - r_n_pow2_plus_n_pow2
|
||||||
|
end
|
||||||
|
|
||||||
|
answer = solution()
|
||||||
|
p answer
|
Loading…
Add table
Reference in a new issue