blob: 5740b31402004ed7b3b42e2eff81defd63014ed8 [file] [log] [blame]
// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
// @dart = 2.9
/// @assertion int gcd(int other)
/// Returns the greatest common divisor of this integer and other.
///
/// If either number is non-zero, the result is the numerically greatest integer
/// dividing both this and other.
///
/// The greatest common divisor is independent of the order, so x.gcd(y) is
/// always the same as y.gcd(x).
/// ...
/// @description Checks that this method returns the greatest common divisor of
/// this integer and other
/// @author sgrekhov@unipro.ru
import "../../../Utils/expect.dart";
main() {
Expect.equals(3, 9.gcd(6));
Expect.equals(17, (17 * 3).gcd(17 * 2));
Expect.equals(17, (17 * 2).gcd(17 * 3));
Expect.equals(17, (-17 * 3).gcd(-17 * 2));
Expect.equals(17, (-17 * 2).gcd(-17 * 3));
Expect.equals(17, (-17 * 2).gcd(17 * 3));
Expect.equals(17, 17.gcd(17));
Expect.equals(17, 17.gcd(-17));
}