Составить алгоритм и написать программу вычисления наибольшего общего делителя двух произвольных положительных целых чисел
#include <stdio.h>
#include <math.h>
#include <iostream>
#include <conio.h>
#include <cstdlib> // для функций rand() и srand()
#include <ctime> // для функции time()
int main()
{
float a, b;
srand(static_cast<unsigned int>(time(0))); // устанавливаем значение системных часов в качестве стартового числа
for (int count = 0; count < 100; ++count)
{
std::cout << rand() << "\t";
// Если вывели 5 чисел, то вставляем символ новой строки
if ((count + 1) % 5 == 0)
std::cout << "\n";
}
}
Ответы (1 шт):
Автор решения: Mikhailo
→ Ссылка
написать программу вычисления наибольшего общего делителя двух произвольных положительных целых чисел
Алгоритм Евклида для вычисления наибольшего общего делителя:
int GCD(int a, int b) {
while(a && b) if (a < b) b %= a; else a %= b;
return (a == 0) ? b : a;
}
Основан на том, что НОД у чисел a и b тот же, что и у меньшего числа и остатка от деления на него большего.