Đề bài
Xem bản gốc (English)Trả về ước số chung lớn nhất của a và b. Thuật toán Euclid lặp lại việc thay thế (a, b) bằng (b, a mod b) cho đến khi b bằng 0.
Cài đặt hàm gcd(a, b).
Đầu vào
a: Số thứ nhất. b: Số thứ hai.
Đầu ra
Trả về gcd(a, b). gcd(0, 0) là 0.
Ràng buộc
0 ≤ a, b ≤ 10¹⁸
Ví dụ
Ví dụ 1
Đầu vào:
a = 48
b = 18
Kết quả mong đợi:
expected = 6
Đầu vào:
long long a = 48;
long long b = 18;
Kết quả mong đợi:
long long expected = 6;
Đầu vào:
long a = 48;
long b = 18;
Kết quả mong đợi:
long expected = 6;
Giải thích
48 mod 18 = 12, 18 mod 12 = 6, 12 mod 6 = 0, nên kết quả là 6.
Ví dụ 2
Đầu vào:
a = 17
b = 5
Kết quả mong đợi:
expected = 1
Đầu vào:
long long a = 17;
long long b = 5;
Kết quả mong đợi:
long long expected = 1;
Đầu vào:
long a = 17;
long b = 5;
Kết quả mong đợi:
long expected = 1;
Giải thích
17 và 5 không có ước chung nào ngoài 1.
Tham khảo
Thử thách này đã được điều chỉnh cho CodeUtility. Hãy làm theo đề bài và các ràng buộc ở trên.