
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Find Minimum Difference Between Shifted Tables of Two Numbers in Python
Suppose we have two numbers p and q, we have to find the minimum difference between any terms in the shifted infinite tables of p and q, these shifts are r and s, where r, s >= 0.
So, if the input is like p = 7 and q = 17, r = 6 and s = 3, then the output will be 0 as, table of 7 = [7, 14, 21, 28, 35, 42, 49, ...] and table of 17 = [17, 34, 51, 68, 85, 102, 119, ...], then shifted table of 7 will be [13, 20, 27, 34, 41, 48, 55, ...] and shifted table of 17 will be [20, 37, 54, 71, 88, 105, 121, ...], then the minimum difference between two terms of these shifted tables are 20-20 = 0.
To solve this, we will follow these steps −
g := gcd of (p, q)
difference := |r-s| mod g
return minimum of difference and g - difference
Example
Let us see the following implementation to get better understanding −
import math def get_minimum_diff (p, q, r, s): g = math.gcd(p,q) difference = abs(r-s) % g return min(difference, g - difference) p = 7 q = 17 r = 6 s = 3 print(get_minimum_diff(p, q, r, s))
Input
7,17,6,3
Output
0