Agar r=0 hai, toh b ko GCD ke roop mein output karo aur ruko.
Warna, a←b aur b←r replace karo, phir step 2 se repeat karo.
Yeh terminate kyun hota hai? Har iteration mein b strictly decrease hota hai (kyunki r<b), aur b hamesha non-negative rehta hai. Finite steps ke baad, r zero ho jaata hai.
Practical implication: 1000-digit numbers ke liye, algorithm roughly 5000 steps leta hai—computer par easily computable. Compare karo factoring se, jo exponentially hard hai.
Socho tumhare paas do chocolate bars hain: ek mein 48 squares hain, doosre mein 18. Tum inhe sabse bade equal pieces mein todna chahte ho jo dono bars mein perfectly fit hon (koi leftover nahi).
Guessing karne ki jagah, leftover trick use karo: badi bar (48) ko chhoti bar (18) ko measuring stick ki tarah use karke todo. Tumhe 2 poori chhoti bars milti hain aur 12 squares bach jaate hain. Ab 48 bhool jao—bas poochho: "18 aur 12 dono mein sabse bada piece kaun sa fit hoga?"
Repeat karo: 18 ko 12 se use karne par ek poori bar aur 6 bach jaate hain. Ab: "12 aur 6 dono mein kya fit hoga?" Yeh easy hai—6, 12 mein exactly do baar fit hota hai, 0 leftover ke saath. Ho gaya! Answer hai 6 squares.
Kaam kyun karta hai? Koi bhi piece jo dono original bars mein fit ho, usse leftovers mein bhi ZAROOR fit hona chahiye. Toh tum chhote aur chhote numbers ke saath kaam karte reh sakte ho jab tak aur divide na ho sake. Aakhri number hi tumhara answer hai.
3.2.04-rsa-encryption — RSA, key generation ke liye modular inverses compute karne mein Euclidean algorithm use karta hai
1.4.09-fibonacci-sequence — Euclidean algorithm ke worst-case inputs consecutive Fibonacci numbers hote hain
#flashcards/maths
Euclidean algorithm kya hai? :: Ek recursive method jo gcd(a,b) nikaalti hai, (a,b) ko baar baar (b,amodb) se replace karke jab tak b=0 na ho jaye.
State the Euclidean Lemma :: gcd(a,b)=gcd(b,amodb) kisi bhi b=0 ke liye.
gcd(a,b)=gcd(b,amodb) kyun hota hai? :: Kyunki a aur b ka koi bhi common divisor r=a−bq (remainder) ko bhi divide karta hai, aur vice versa. Toh common divisors ka set identical hota hai.
Euclidean algorithm ki termination condition kya hai?
Jab b=0 ho, algorithm ruk jaata hai aur a GCD hota hai.
n digits tak ke inputs ke liye Euclidean algorithm kitne steps leta hai?
Zyada se zyada O(n) steps, specifically Lamé's Theorem se ≤5n. Input size ke terms mein yeh O(logb) hai.
Euclidean algorithm ke liye worst-case (maximum steps) inputs kaun se hain?
Consecutive Fibonacci numbers, jahaan har quotient 1 hota hai, jisse remainders ki shrinkage sabse slow hoti hai.
Euclidean algorithm se gcd(48,18) compute karo :: 48=18⋅2+12, 18=12⋅1+6, 12=6⋅2+0. Answer: 6.
Sach ya jhooth: Euclidean algorithm kaam karne ke liye a>b zaroori hai :: Jhooth. Agar a<b ho, toh pehla step automatically unhe swap kar deta hai: gcd(a,b)=gcd(b,a).
Bade numbers ke liye Euclidean algorithm prime factorization se faster kyun hai?
Factorization digits ki sankhya mein exponential hai; Euclidean algorithm polynomial hai (logarithmic steps), jo ise cryptography mein use hone wale 100+ digit numbers ke liye feasible banata hai.