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.
First line contains T that denotes the number of test cases. This is followed by T lines, each containing an integer, N.
For each test case, print an integer that denotes the sum of all the multiples of 3 or 5 below N.
2
10
100
23
2318
for _ in range(int(input())):
n =int(input())
n -= 1
a= n//3
b= n//5
c= n//15
print((3*a*(a+1) + 5*b*(b+1) - 15*c*(c+1))>>1)
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.
First line contains T that denotes the number of test cases. This is followed by T lines, each containing an integer, N.
For each test case, print an integer that denotes the sum of all the multiples of 3 or 5 below N.
2
10
100
10
44
for _ in range(int(input())):
N = int(input())
A, B, C = 1, 2, 3
ans = 2
while C < N:
if not C % 2:
ans += C
A, B, C = B, C, B + C
print(ans)
What is the largest prime factor of a given number ?
First line contains T , the number of test cases. This is followed by T lines each containing an integer N.
For each test case, display the largest prime factor of N .
Sample Input
2
10
17
Sample Output
5
17
for _ in range(int(input())): ## looping for number of test cases
num = int(input())
fact = 2 ## supposing two as the smallest factorial
is_prime = 2 ## Taking two as the smallest prime
while fact * fact <= num : ## Factor is always <= the sqrt of that number
while num % fact == 0:
is_prime = fact
num //= fact
fact += 1 ## Incrementing the factorial by 1
if num > is_prime: ## If the number is itself prime
is_prime = num
print(is_prime)
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.
2
101110
800000
101101
793397
palindromes = [] ## A list to store all palndromes
for num1 in range(100, 1000): ## starting num 1 from 100
for num2 in range(100000//num1, 1000): ## skipping unnecesarry iteration for num2
palindrome = num1 * num2
if str(palindrome) == str(palindrome)[::-1] and palindrome not in palindromes: ## if the number is palindrome and not in list => append
palindromes.append(palindrome)
palindromes.sort() ## sort the list
length = len(palindromes)
for _ in range(int(input())):
test = int(input())
for num in range(length - 1, -1, -1):
if palindromes[num] < test:
print(palindromes[num])
break
What is the smallest positive number that is evenly divisible(divisible with no remainder) by all of the numbers from to ?
First line contains that denotes the number of test cases. This is followed by lines, each containing an integer.
1 <= Test Cases <= 10
1 <= Input <= 40
Print the required answer for each test case.
Sample Input
2
3
10
Sample Output
6
2520
from math import gcd
from functools import reduce
for _ in range(int(input())):
print(reduce(lambda x,y: x*y//gcd(x,y), range(1,int(input())+1)))
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.
ProjectEuler+ Problem Statement
The Project Euler problem is equivalent to the ProjectEuler+ challenge with T = 1 and N = 100.
2
3
10
22
2640
import sys
for _ in range(int(input())):
n = int(input().strip())
print(pow((((n+1)*n)//2),2) - (n*(n+1)*((2*n)+1))//6)
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?
ProjectEuler+ Problem Statement
The Project Euler problem is equivalent to the ProjectEuler+ challenge with T = 1 and N = 10001.
2
3
6
5
13
from math import floor
def prime(n,l):
x=l[len(l)-1]
while len(l)<n:
x+=2
y=floor(x**0.5)
count=0
for i in l:
if i>y:
count=0
break
if x%i==0:
count=1
break
if count==0:
l.append(x)
return l
l=[2,3]
for i in range(int(input())):
n=int(input())
if len(l)<n:
l=prime(n,l)
print(l[n-1])