Project Euler: Problem 9

By | 18. April 2013

A Pythagorean triplet is a set of three natural numbers, a < b < c, for which,
a2 + b2 = c2

For example, 32 + 42 = 9 + 16 = 25 = 52.

There exists exactly one Pythagorean triplet for which a + b + c = 1000.
Find the product abc.

loop:
for (int a=1; a&lt;1000; a++) {
	for (int b=1; b&lt;1000;b++ ) {
		for (int c=1; c&lt;1000; c++) {
			if (a+b+c==1000&amp;&amp;c*c==a*a+b*b) {
				System.out.println(a);
				System.out.println(b);
				System.out.println(c);
				System.out.println(a*b*c);
				break loop;
			}
		}
	}
}

Lösung: 31875000

Project Euler: Problem 8

By | 18. April 2013

Find the greatest product of five consecutive digits in the 1000-digit number.

73167176531330624919225119674426574742355349194934
96983520312774506326239578318016984801869478851843
85861560789112949495459501737958331952853208805511
12540698747158523863050715693290963295227443043557
66896648950445244523161731856403098711121722383113
62229893423380308135336276614282806444486645238749
30358907296290491560440772390713810515859307960866
70172427121883998797908792274921901699720888093776
65727333001053367881220235421809751254540594752243
52584907711670556013604839586446706324415722155397
53697817977846174064955149290862569321978468622482
83972241375657056057490261407972968652414535100474
82166370484403199890008895243450658541227588666881
16427171479924442928230863465674813919123162824586
17866458359124566529476545682848912883142607690042
24219022671055626321111109370544217506941658960408
07198403850962455444362981230987879927244284909188
84580156166097919133875499200524063689912560717606
05886116467109405077541002256983155200055935729725
71636269561882670428252483600823257530420752963450

String number = "7316717653133062491922511967442657474235534919493496983520312774506326239578318016984801869478851843858615607891129494954595017379583319528532088055111254069874715852386305071569329096329522744304355766896648950445244523161731856403098711121722383113622298934233803081353362766142828064444866452387493035890729629049156044077239071381051585930796086670172427121883998797908792274921901699720888093776657273330010533678812202354218097512545405947522435258490771167055601360483958644670632441572215539753697817977846174064955149290862569321978468622482839722413756570560574902614079729686524145351004748216637048440319989000889524345065854122758866688116427171479924442928230863465674813919123162824586178664583591245665294765456828489128831426076900422421902267105562632111110937054421750694165896040807198403850962455444362981230987879927244284909188845801561660979191338754992005240636899125607176060588611646710940507754100225698315520005593572972571636269561882670428252483600823257530420752963450";
int number1, number2, number3, number4, number5;
int highest = 0;
for (int i=0; i<996; i++) {
	number1 = Character.digit(number.charAt(i), 10);
	number2 = Character.digit(number.charAt(i+1), 10);
	number3 = Character.digit(number.charAt(i+2), 10);
	number4 = Character.digit(number.charAt(i+3), 10);
	number5 = Character.digit(number.charAt(i+4), 10);
	if (number1*number2*number3*number4*number5>highest) {
		highest = number1*number2*number3*number4*number5;
		System.out.println(number1+"*"+number2+"*"+number3+"*"+number4+"*"+number5+"="+highest);
	}
}

Lösung: 40824

Euler Project: Problem 7

By | 18. April 2013

By listing the first six prime numbers: 2, 3, 5, 7, 11, and 13, we can see that the 6th prime is 13.

What is the 10 001st prime number?

int limit = 0;
int zahl = 1;
int zaehler;
int teiler;
int zahl2;
 
while (limit<10001) {
	if (zahl == 1){
		System.out.println("");
	} else {
		teiler = 0;
		for (zaehler = 1; zaehler <= zahl; zaehler++){
			zahl2 = zahl % zaehler;
			if(zahl2 == 0){
				teiler++;
			}
		}
		if (teiler == 2){
			System.out.println(zahl);
			limit++;
		}
	}
	zahl++;
}

Lösung: 104743

Project Euler: Problem 6

By | 17. April 2013

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.

long result = 0;
long sum1 = 0;
long sum2 = 0;
for (int i=1; i<=100; i++) {
	sum1 += (long)Math.pow(i,2);
	sum2 += i;
}
result = (long)Math.pow(sum2, 2)-sum1;
System.out.println(result);

Lösung: 25164150

Project Euler: Problem 5

By | 17. April 2013

2520 is the smallest number that can be divided by each of the numbers from 1 to 10 without any remainder.
What is the smallest positive number that is evenly divisible by all of the numbers from 1 to 20?

int times = 0;
for (int i=1; i<1000000000; i++) {
	for (int j=1; j<=20; j++) {
		if (i%j==0) {
			times++;
		}
	}
	if (times==20) {
		System.out.println(i);
		break;
	}
	times = 0;
}

Lösung: 232792560

Project Euler: Problem 4

By | 17. April 2013

A palindromic number reads the same both ways. The largest palindrome made from the product of two 2-digit numbers is 9009 = 91 × 99.

Find the largest palindrome made from the product of two 3-digit numbers.

int number1;
int number2;
int highest = 0;
int temp;
for (number1=100; number1<999; number1++) {
	for (number2=100; number2<999; number2++) {
		temp = number1*number2;
		if (Integer.toString(temp).equals(new StringBuffer(Integer.toString(temp)).reverse().toString())) {
			if (temp>highest) {
			highest = temp;
			System.out.println(number1 + " * " + number2 + " = " + highest);
			}
		}
	}
}

Lösung: 906609

Project Euler: Problem 3

By | 17. April 2013

The prime factors of 13195 are 5, 7, 13 and 29.

What is the largest prime factor of the number 600851475143 ?

final long value = 600851475143L;
long temp = value;
long prime = 2;
while (temp>1L) {
	if (temp%prime==0) {
		System.out.println(prime);
		temp = temp/prime;
	} else {
		prime++;
	}
}

Lösung: 6857

Project Euler: Problem 2

By | 17. April 2013

Each new term in the Fibonacci sequence is generated by adding the previous two terms. By starting with 1 and 2, the first 10 terms will be:

1, 2, 3, 5, 8, 13, 21, 34, 55, 89, …

By considering the terms in the Fibonacci sequence whose values do not exceed four million, find the sum of the even-valued terms.

int x = 0;
int y = 1;
int limit = 4000000;
int result = 0;
int temp;
while (y&lt;limit) {
	temp = x + y;
	x = y;
	y = temp;
	if (y%2==0) {
		result += y;
	}
}
System.out.println(result);

Lösung: 4613732