Category Archives: Project Euler

Project Euler: Problem 30

By | 24. April 2013

Surprisingly there are only three numbers that can be written as the sum of fourth powers of their digits:
1634 = 14 + 64 + 34 + 44
8208 = 84 + 24 + 04 + 84
9474 = 94 + 44 + 74 + 44
As 1 = 14 is not a sum it is not included.
The sum of these numbers is 1634 + 8208 + 9474 = 19316.

Find the sum of all the numbers that can be written as the sum of fifth powers of their digits.

int sum = 0;
String temp = "";
int tempresult = 0;
for (int i = 0; i < 236196; i++) {
	temp = Integer.toString(i);
	for (int j = 0; j < temp.length(); j++) {
		tempresult += Math.pow(Integer.parseInt(String.valueOf(temp.charAt(j))), 5);
	}
	if (tempresult == i && !(i==0||i==1)) {
		System.out.println(i);
		sum += i;
	}
	tempresult = 0;
}
System.out.println("Ergebnis:" + sum);

Lösung: 443839

Project Euler: Problem 25

By | 24. April 2013

The Fibonacci sequence is defined by the recurrence relation:

Fn = Fn−1 + Fn−2 , where F1 = 1 and F2 = 1.

Hence the first 12 terms will be:

F1 = 1
F2 = 1
F3 = 2
F4 = 3
F5 = 5
F6 = 8
F7 = 13
F8 = 21
F9 = 34
F10 = 55
F11 = 89
F12 = 144

The 12th term, F12 , is the first term to contain three digits.

What is the first term in the Fibonacci sequence to contain 1000 digits?

BigInteger number1 = BigInteger.ZERO;
BigInteger number2 = BigInteger.ONE;
BigInteger temp = BigInteger.ZERO;
int count = 1;
 
while (number2.toString().length()&lt;1000) {
	temp = number1.add(number2);
	number1 = number2;
	number2 = temp;
	count++;
}
System.out.println(count);

Lösung: 4782

Project Euler: Problem 20

By | 24. April 2013

n! means n × (n − 1) × … × 3 × 2 × 1

For example, 10! = 10 × 9 × … × 3 × 2 × 1 = 3628800,
and the sum of the digits in the number 10! is 3 + 6 + 2 + 8 + 8 + 0 + 0 = 27.

Find the sum of the digits in the number 100!

int result = 0;
BigInteger temp = BigInteger.ONE;
 
for (long i=2; i&lt;=100; i++) {
	temp = temp.multiply(BigInteger.valueOf(i));
}
String number = temp.toString();
for (int i=0; i&lt;number.length(); i++) {
	result += Character.digit(number.charAt(i), 10);
}
System.out.println(result);

Lösung: 648

Project Euler: Problem 10

By | 20. April 2013

The sum of the primes below 10 is 2 + 3 + 5 + 7 = 17.

Find the sum of all the primes below two million.

long result = 0;
boolean[] gestrichen = new boolean[limit];
for (int i=2; i&lt;gestrichen.length; i++) {
	gestrichen[i] = false;
}
 
for (int i=2; i&lt;gestrichen.length; i++) {
	if (!gestrichen[i]) {
		System.out.println(i + " ");
		result += (long)i;
		for (int j=2*i; j&lt;limit; j=j+i) {
			gestrichen[j] = true;
		}
	}
}
System.out.println("=============");
System.out.println(result);

Lösung: 142913828922

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