Задача 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); }