std:: gcd
|
Definiert im Header
<numeric>
|
||
|
template
<
class
M,
class
N
>
constexpr std:: common_type_t < M, N > gcd ( M m, N n ) ; |
(seit C++17) | |
Berechnet den greatest common divisor der ganzen Zahlen m und n .
Wenn entweder
M
oder
N
kein Ganzzahltyp ist, oder wenn einer von beiden (möglicherweise cv-qualifiziert)
bool
ist, ist das Programm fehlerhaft.
Wenn entweder | m | oder | n | nicht als Wert des Typs std:: common_type_t < M, N > darstellbar ist, ist das Verhalten undefiniert.
Inhaltsverzeichnis |
Parameter
| m, n | - | ganzzahlige Werte |
Rückgabewert
Wenn sowohl m als auch n null sind, wird null zurückgegeben. Andernfalls wird der größte gemeinsame Teiler von | m | und | n | zurückgegeben.
Ausnahmen
Wirft keine Ausnahmen.
Hinweise
| Feature-Test Makro | Wert | Standard | Funktion |
|---|---|---|---|
__cpp_lib_gcd_lcm
|
201606L
|
(C++17) |
std::gcd
,
std::lcm
|
Beispiel
#include <numeric> int main() { constexpr int p{2 * 2 * 3}; constexpr int q{2 * 3 * 3}; static_assert(2 * 3 == std::gcd(p, q)); static_assert(std::gcd( 6, 10) == 2); static_assert(std::gcd( 6, -10) == 2); static_assert(std::gcd(-6, -10) == 2); static_assert(std::gcd( 24, 0) == 24); static_assert(std::gcd(-24, 0) == 24); }
Siehe auch
|
(C++17)
|
berechnet das kleinste gemeinsame Vielfache zweier Ganzzahlen
(Funktionsschablone) |