Problem 1:
If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.
Find the sum of all the multiples of 3 or 5 below 1000.
ans=0
for i in range(1,1000):
if i%3==0 or i%5==0:
ans+=i
print(ans)
Answer:233168
Problem 2:
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.
a=1
b=2
ans=2
while a+b<=4000000:
c=a+b
if c%2==0:
ans+=c
a=b
b=c
print(ans)
Answer:4613732
Problem 3:
The prime factors of 13195 are 5, 7, 13 and 29.
What is the largest prime factor of the number 600851475143 ?
a=[0 for i in range(1,5000000+10)]
p=a
tot=0
for i in range(2,5000000):
if a[i]==0:
tot+=1
p[tot]=i
j=i+i
while j<5000000:
a[j]=1
j+=i
for i in range(tot,0,-1):
if 600851475143%p[i]==0:
print(p[i])
break
Answer:6857
Problem 4:
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.
ans=0
for i in range(100,1000):
for j in range(100,1000):
k=i*j
k=str(k)
f=1
for l in range(0,len(k)//2):
if k[l]!=k[len(k)-l-1]:
f=0
break
if f:
ans=max([ans,i*j])
print(ans)
Answer:906609
Problem 5:
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?
from fractions import gcd
def lcm(a,b):
return a*b//gcd(a,b)
ans=2
for i in range(3,20+1):
ans=lcm(ans,i)
print(ans)
Answer:232792560
By Charlie Pan
Apr 14,2014