Merge pull request #277 from girijamanojkumarreddy/master

Added a Solution using Euclidean Algo
This commit is contained in:
Harshil 2018-03-23 18:24:09 +05:30 committed by GitHub
commit a2e615e6f8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 39 additions and 0 deletions

View File

@ -0,0 +1,20 @@
#!/bin/python3
'''
Problem:
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(divisible with no remainder) by all of the numbers from 1 to N?
'''
""" Euclidean GCD Algorithm """
def gcd(x,y):
return x if y==0 else gcd(y,x%y)
""" Using the property lcm*gcd of two numbers = product of them """
def lcm(x,y):
return (x*y)//gcd(x,y)
n = int(input())
g=1
for i in range(1,n+1):
g=lcm(g,i)
print(g)

View File

@ -0,0 +1,19 @@
"""A Pythagorean triplet is a set of three natural numbers, for which,
a^2+b^2=c^2
Given N, Check if there exists any Pythagorean triplet for which a+b+c=N
Find maximum possible value of product of a,b,c among all such Pythagorean triplets, If there is no such Pythagorean triplet print -1."""
#!/bin/python3
import sys
product=-1
d=0
N = int(input())
for a in range(1,N//3):
"""Solving the two equations a**2+b**2=c**2 and a+b+c=N eliminating c """
b=(N*N-2*a*N)//(2*N-2*a)
c=N-a-b
if c*c==(a*a+b*b):
d=(a*b*c)
if d>=product:
product=d
print(product)