Looping constructs while contd
Project euler 3
- Refer Here for problem
- Largest prime factor of a number
- it has to be a factor
- it has to be a prime
- it has to be a largest possible
- Example
70 =>
factors: 2,5,7,10,14,35
prime: 2,5,7
largest: 7
27 =>
factors: 3,9
prime: 3
largest: 3
- Solution for prime number
Hi Chaitra,
number = 7
is_prime = True
index = 2
while index < number
if number%index == 0
is_prime = False
break
index = index + 1
number = 13195
factor = number // 2
while factor > 1:
# check if it is factor
if number % factor == 0:
# if factor also check if index it is prime
is_prime = True
index = 2
while index <= factor//2 :
if factor % index == 0:
is_prime = False
break
index = index + 1
if is_prime:
print(factor)
break
factor = factor - 1
Project euler 5
# Smallest multiple
number = 20
# boundary
index = 1
factorial = 1
while index <= number:
factorial = factorial * index
index += 1
max = factorial
index = number
while index <= factorial:
# check if is divisible by all numbers from 2 to number
divisible = True
number_index = 2
while number_index <= number:
if index % number_index != 0:
divisible = False
break
number_index += 1
if divisible:
print(index)
break
index += number
Project euler 6: Sum square difference
# Project euler problem 6
number = 100
sum = (number * (number + 1)) // 2
square_sum = sum ** 2
square_number = 0
index = 1
while index <= number:
square_number += index ** 2
index += 1
print(square_sum - square_number)
Like this:
Like Loading...