Các thách thức
Viết một chương trình hoặc chức năng mà phải mất hai số nguyên đầu vào, i
và j
, và kết quả đầu ra ước chung lớn nhất của họ; được tính bằng cách sử dụng thuật toán Euclide (xem bên dưới).
Đầu vào
Đầu vào có thể được lấy dưới dạng đại diện chuỗi được phân tách bằng dấu cách i
và j
hoặc là hai số nguyên riêng biệt. Bạn có thể giả định rằng số nguyên sẽ nhỏ hơn hoặc bằng 10.000. Bạn cũng có thể giả định rằng các số nguyên đầu vào sẽ không là số nguyên tố với nhau.
Sự cố Euclide
Số lớn hơn giữa i
và j
được chia cho càng nhỏ càng nhiều lần càng tốt. Sau đó, phần còn lại được thêm vào. Quá trình này được lặp lại với phần còn lại và số trước đó, cho đến khi phần còn lại trở thành 0
.
Ví dụ: nếu đầu vào là 1599 650
:
1599 = (650 * 2) + 299
650 = (299 * 2) + 52
299 = (52 * 5) + 39
52 = (39 * 1) + 13
39 = (13 * 3) + 0
Số cuối cùng 13
, là ước số chung lớn nhất của hai số nguyên đầu vào. Nó có thể được hình dung như thế này:
Đầu ra
Đầu ra của bạn phải là bảng phân tích theo mẫu ở trên, theo sau là dòng mới và GCD. Nó có thể được đầu ra thông qua bất kỳ phương tiện.
Ví dụ
Đầu vào
18 27
50 20
447 501
9894 2628
Đầu ra
27 = (18 * 1) + 9
18 = (9 * 2) + 0
9
50 = (20 * 2) + 10
20 = (10 * 2) + 0
10
501 = (447 * 1) + 54
447 = (54 * 8) + 15
54 = (15 * 3) + 9
15 = (9 * 1) + 6
9 = (6 * 1) + 3
6 = (3 * 2) + 0
3
9894 = (2628 * 3) + 2010
2628 = (2010 * 1) + 618
2010 = (618 * 3) + 156
618 = (156 * 3) + 150
156 = (150 * 1) + 6
150 = (6 * 25) + 0
6
Lưu ý: Đầu ra không phải cách nhau như trên. Khoảng cách chỉ cho rõ ràng. Dấu ngoặc đơn là bắt buộc.
Tiền thưởng
Nếu đầu ra của bạn được đặt cách nhau như trên, bạn có thể thêm phần thưởng -10% vào điểm số của mình.