Задача 12: Найти наименьшее общее кратное (НОК) всех чисел, содержащихся в заданном массиве натуральных чисел

Задачи Олимпиады для языка C

Задача 12: Найти наименьшее общее кратное (НОК) всех чисел, содержащихся в заданном массиве натуральных чисел. (Отрицательные, нецелые числа и число ноль натуральными числами не являются. Наименьшее общее кратное (НОК) двух целых чисел m и n есть наименьшее натуральное число, которое делится на m и n.)

Алгоритм вычисления НОК: постоянно увеличивающееся число 2 (или сразу находим максимальное целое число в массиве) делим на каждое из введенных чисел в массиве и НОК будет найден в том случае, когда остаток от деления на каждое число будет равен нулю.

Решение с использованием языка CPP:

#include <stdlib.h>
#include <iostream>
 
using namespace std;
 
int main() {
    const int SIZE=3;
    int ar[SIZE]={9,18,45};
    int kk=0;
    bool boolnotnok=true;
    int count=2;
    for (int i=0;i<SIZE;i++)
    /*{
        int r=rand()%5+2;
        ar[i]=r;
    }*/
    for (int i=0;i<SIZE;i++) cout<<ar[i]<<"\t";
    cout<<"\n"<<"t--t"<<"\n";
 
    while (boolnotnok)
    {
    if (count>100) exit(0);
 
        for (int j=0;j<SIZE;j++){
            cout<<count<<" % "<<ar[j]<<" = "<<count%ar[j]<<"\n";
            if (count%ar[j]==0){ kk++;
            if (kk==SIZE)  boolnotnok=false;
                }
        }
        kk=0;
        if (!(boolnotnok)){
        cout<<"\n\n"<<"NOK = "<<count<<"\n";
        };
        count+=2;
    }
 
    return (EXIT_SUCCESS);
}
  • Крупнейшая в Европе школа английского языка

    Промокоды, акции и подарки, чтобы Ваше обучение было не только интересным, но и выгодным. Закажите пробный урок уже сейчас!

    skyeng.ru
  • Английский для IT‑специалистов по Skype

    Персональные занятия по разумным ценам. Длительность курса: 50 уроков по 50 минут. Управляй расписанием занятий через мобильное приложение!

    englex.ru