01 October 2012

Project Euler - Problem 6 (Java)

This time, I'm giving out the solution of Problem 6 in the form of Java code.

Without wasting more time, here's the code:

class euler6 {
public static void main (String [] args) {
int x = 0;
int y = 0;
for(int i=1;i<101;i++) {
x += i;
}

for(int j=1;j<101;j++) {
y += Math.pow(j, 2);
}

System.out.println("Square of the sum of the first one hundred natural numbers : " + Math.pow(x, 2));
System.out.println("Sum of the squares of the first one hundred natural numbers : " + y);
System.out.println("Hence, the difference of both numbers is " + Math.pow(x, 2) + " - " + y + " = " + (Math.pow(x, 2) - y));
}
}

And, here's a preview of its output.

As we can see, The answer doesn't match the one calculated in Visual Basic.
It is 2.516415E7.

What is E? E is a representation of exponential values. Let's take the answer above as an example.

We've got 2.516415E7, what does that mean? It actually means multiplying 2.516415 by E7(which is mathematically written as 10^7). Therefore, the answer could be written as :

 2.516415 x 10 ^ 7 

which equals to 25164150, the correct answer.

24 September 2012

Project Euler - Problem 6

The sum of the squares of the first ten natural numbers is,
12 + 22 + ... + 102 = 385
The square of the sum of the first ten natural numbers is,
(1 + 2 + ... + 10)2 = 552 = 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.

Answer:
This is a simple problem. Again, I'm using VB.NET to solve this problem. But this time, it is not the Windows App, it's the Console Application. The reason is that we do not need any User Interface here.

So, let's just get right to the code.

Code:

Module Module1

    Sub Main()
        Dim x, y As Double

        For i As Integer = 1 To 100
            x = x + i
        Next

        For j As Integer = 1 To 100
            y = y + (j ^ 2)
        Next

        Console.WriteLine("Square of the sum of the first one hundred natural numbers : " & x ^ 2)
        Console.WriteLine("Sum of the squares of the first one hundred natural numbers : " & y)
        Console.WriteLine("Hence, the difference of both numbers is " & (x ^ 2) & " - " & y & " = " & (x ^ 2) - y)
    End Sub

End Module


Here's what it looks like :













From the picture above, we can see that the answer is 25164150

Good luck trying !

Cyber  Frost








23 September 2012

Project Euler - Problem 28

Starting with the number 1 and moving to the right in a clockwise direction a 5 by 5 spiral is formed as follows:
21 22 23 24 25
20  7  8  9 10
19  6  1  2 11
18  5  4  3 12
17 16 15 14 13

It can be verified that the sum of the numbers on the diagonals is 101.
What is the sum of the numbers on the diagonals in a 1001 by 1001 spiral formed in the same way?


To solve this problem, I used VB.NET. Here are the design and the code.

Design:












It consists of 1 Textbox, 1 Label, and 1 Button.


Code:

Public Class Form1
    Dim x, y, z, a, b, c As Integer
    Dim num As Double
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        c = 1
        z = 1
        x = TextBox1.Text
        If x > 0 And x Mod 2 = 1 Then
            For a = 1 To x * 2 - 2
                y = 2 * c
                z = z + y
                num = num + z
                b = b + 1
                If b = 4 Then
                    c = c + 1
                    b = 0
                End If
            Next
        Else
            MsgBox("Spiral must be of odd size and has a minimum size of 1.")
            End
        End If
        Label1.Text = num + 1
    End Sub
End Class




Explanation:

The Textbox receives the size of the spiral.
Note that the size must be an odd number starting from the minimum of 1. 
The sum of the numbers on the diagonals will be shown in the Label. 

Answer to PROBLEM 28 of Project Euler :
The sum of the numbers on the diagonals in a 1001 by 1001 spiral formed in the same way is  669171001.



Happy Coding !
Cyber Frost

Search