-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
86290c4
commit 7c31f1f
Showing
10 changed files
with
217 additions
and
6 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
/* | ||
Project Euler Problem 6 | ||
This turned out to be really easy | ||
Problem: | ||
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. | ||
*/ | ||
using System; | ||
|
||
namespace Euler | ||
{ | ||
public class p0006 : IEuler | ||
{ | ||
public Task<Int64> Answer() | ||
{ | ||
Int64 sum_of_squares = 0, | ||
sum = 0; | ||
for (int i = 1; i < 101; i++) | ||
{ | ||
sum += i; | ||
sum_of_squares += i * i; | ||
} | ||
Int64 square_of_sum = sum * sum; | ||
return Task.FromResult<Int64>(square_of_sum - sum_of_squares); | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,81 @@ | ||
/* | ||
Project Euler Problem 8 | ||
In Python I did this with an iterator, but that is more cumbersome here, | ||
so I just did it with a loop that slices. | ||
Problem: | ||
The four adjacent digits in the 1000-digit number that have the greatest | ||
product are 9 × 9 × 8 × 9 = 5832. | ||
73167176531330624919225119674426574742355349194934 | ||
96983520312774506326239578318016984801869478851843 | ||
85861560789112949495459501737958331952853208805511 | ||
12540698747158523863050715693290963295227443043557 | ||
66896648950445244523161731856403098711121722383113 | ||
62229893423380308135336276614282806444486645238749 | ||
30358907296290491560440772390713810515859307960866 | ||
70172427121883998797908792274921901699720888093776 | ||
65727333001053367881220235421809751254540594752243 | ||
52584907711670556013604839586446706324415722155397 | ||
53697817977846174064955149290862569321978468622482 | ||
83972241375657056057490261407972968652414535100474 | ||
82166370484403199890008895243450658541227588666881 | ||
16427171479924442928230863465674813919123162824586 | ||
17866458359124566529476545682848912883142607690042 | ||
24219022671055626321111109370544217506941658960408 | ||
07198403850962455444362981230987879927244284909188 | ||
84580156166097919133875499200524063689912560717606 | ||
05886116467109405077541002256983155200055935729725 | ||
71636269561882670428252483600823257530420752963450 | ||
Find the thirteen adjacent digits in the 1000-digit number that have the | ||
greatest product. What is the value of this product? | ||
*/ | ||
using System; | ||
|
||
namespace Euler | ||
{ | ||
public class p0008 : IEuler | ||
{ | ||
private const int MAX = 500; | ||
public Task<Int64> Answer() | ||
{ | ||
String str = String.Concat( | ||
"73167176531330624919225119674426574742355349194934", | ||
"96983520312774506326239578318016984801869478851843", | ||
"85861560789112949495459501737958331952853208805511", | ||
"12540698747158523863050715693290963295227443043557", | ||
"66896648950445244523161731856403098711121722383113", | ||
"62229893423380308135336276614282806444486645238749", | ||
"30358907296290491560440772390713810515859307960866", | ||
"70172427121883998797908792274921901699720888093776", | ||
"65727333001053367881220235421809751254540594752243", | ||
"52584907711670556013604839586446706324415722155397", | ||
"53697817977846174064955149290862569321978468622482", | ||
"83972241375657056057490261407972968652414535100474", | ||
"82166370484403199890008895243450658541227588666881", | ||
"16427171479924442928230863465674813919123162824586", | ||
"17866458359124566529476545682848912883142607690042", | ||
"24219022671055626321111109370544217506941658960408", | ||
"07198403850962455444362981230987879927244284909188", | ||
"84580156166097919133875499200524063689912560717606", | ||
"05886116467109405077541002256983155200055935729725", | ||
"71636269561882670428252483600823257530420752963450" | ||
); | ||
Int64 answer = 0; | ||
for (int i = 0; i < str.Length - 13; i++) { | ||
String slice = str.Substring(i, 13); | ||
Int64 prod = 1; | ||
foreach (char c in slice) { | ||
prod *= c - '0'; | ||
} | ||
if (prod > answer) { | ||
answer = prod; | ||
} | ||
} | ||
return Task.FromResult<Int64>(answer); | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
/* | ||
Project Euler Problem 9 | ||
Problem: | ||
A Pythagorean triplet is a set of three natural numbers, a < b < c, for which, | ||
a**2 + b**2 = c**2 | ||
For example, 3**2 + 4**2 = 9 + 16 = 25 = 5**2. | ||
There exists exactly one Pythagorean triplet for which a + b + c = 1000. | ||
Find the product abc. | ||
*/ | ||
using System; | ||
|
||
namespace Euler | ||
{ | ||
public class p0009 : IEuler | ||
{ | ||
private const int MAX = 500; | ||
public Task<Int64> Answer() | ||
{ | ||
for (int c = 3; c < MAX; c++) { | ||
int c_square = c * c; | ||
for (int b = 2; b < c; b++) { | ||
int b_square = b * b; | ||
for (int a = 1; a < b; a++) { | ||
int a_square = a * a; | ||
if (a_square + b_square == c_square && a + b + c == 1000) { | ||
return Task.FromResult<Int64>(a * b * c); | ||
} | ||
} | ||
} | ||
} | ||
return Task.FromResult<Int64>(0); | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
C# Implementation of Problem 6 | ||
============================== | ||
|
||
View source code `here on GitHub! <https://github.com/LivInTheLookingGlass/Euler/blob/master/csharp/Euler/p0006.cs>`_ | ||
|
||
.. csharp:namespace:: Euler | ||
.. csharp:class:: p0006 | ||
.. csharp:inherits:: Euler.IEuler | ||
.. csharp:method:: Task<Int64> Answer() | ||
.. literalinclude:: ../../csharp/Euler/p0006.cs | ||
:language: csharp | ||
:linenos: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
C# Implementation of Problem 8 | ||
============================== | ||
|
||
View source code `here on GitHub! <https://github.com/LivInTheLookingGlass/Euler/blob/master/csharp/Euler/p0008.cs>`_ | ||
|
||
.. csharp:namespace:: Euler | ||
.. csharp:class:: p0008 | ||
.. csharp:inherits:: Euler.IEuler | ||
.. csharp:method:: Task<Int64> Answer() | ||
.. literalinclude:: ../../csharp/Euler/p0008.cs | ||
:language: csharp | ||
:linenos: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
C# Implementation of Problem 9 | ||
============================== | ||
|
||
View source code `here on GitHub! <https://github.com/LivInTheLookingGlass/Euler/blob/master/csharp/Euler/p0009.cs>`_ | ||
|
||
.. csharp:namespace:: Euler | ||
.. csharp:class:: p0009 | ||
.. csharp:inherits:: Euler.IEuler | ||
.. csharp:method:: Task<Int64> Answer() | ||
.. literalinclude:: ../../csharp/Euler/p0009.cs | ||
:language: csharp | ||
:linenos: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters