Bläddra i källkod

Merge branch 'master' of https://github.com/adelq/project-euler

Adel Qalieh 13 år sedan
förälder
incheckning
20ea1605d1
4 ändrade filer med 58 tillägg och 0 borttagningar
  1. 5 0
      48.py
  2. 27 0
      52.py
  3. 11 0
      53.py
  4. 15 0
      56.py

+ 5 - 0
48.py

@@ -0,0 +1,5 @@
+series = 0
+for i in range(1,1000):
+	series += pow(i,i)
+
+print(str(series)[-10::])

+ 27 - 0
52.py

@@ -0,0 +1,27 @@
+def numhash(num):
+	num = str(num)
+	digithash = {0:0, 1:0, 2:0, 3:0, 4:0, 5:0, 6:0, 7:0, 8:0, 9:0}
+	for digit in num:
+		digithash[int(digit)] += 1
+	return digithash
+
+i = 1
+while True:
+	spechash = numhash(i)
+	if spechash == numhash(2*i):
+		if spechash == numhash(3*i):
+			if spechash == numhash(4*i):
+				if spechash == numhash(5*i):
+					if spechash == numhash(6*i):
+						print(i)
+						break
+					else:
+						i+=1
+				else:
+					i+=1
+			else:
+				i+=1
+		else:
+			i+=1
+	else:
+		i += 1

+ 11 - 0
53.py

@@ -0,0 +1,11 @@
+from math import factorial
+
+def com(n, r):
+	return factorial(n) / (factorial(r)*factorial(n-r))
+
+millionaire = 0
+for n in range(1,101):
+	for r in range(1,n):
+		if com(n,r) > 1000000:
+			millionaire += 1
+print(millionaire)

+ 15 - 0
56.py

@@ -0,0 +1,15 @@
+def numsum(num):
+	num = str(num)
+	numsum = 0
+	for digit in num:
+		numsum += int(digit)
+	return numsum
+
+maxsum = 0
+for a in range(1,100):
+	for b in range(1,100):
+		digitsum = numsum(pow(a,b))
+		if digitsum > maxsum:
+			maxsum = digitsum
+
+print(maxsum)