Инструменты пользователя

Инструменты сайта


reshenie_zadachi_12

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

reshenie_zadachi_12 [2011/01/11 17:54]
reshenie_zadachi_12 [2020/06/13 13:46] (текущий)
Строка 1: Строка 1:
 +====== Задача 12 ======
 +**Задача 12:** Найти наименьшее общее кратное (НОК) всех чисел, содержащихся в заданном массиве натуральных чисел. (Отрицательные, нецелые числа и число ноль натуральными числами не являются. Наименьшее общее кратное (НОК) двух целых чисел m и n есть наименьшее натуральное число, которое делится на m и n.)
  
 +**Алгоритм вычисления НОК:** постоянно увеличивающееся число 2 (или сразу находим максимальное целое число в массиве) делим на каждое из введенных чисел в массиве и НОК будет найден в том случае, когда остаток от деления на каждое число будет равен нулю.
 +
 +<file>
 +#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);
 +}
 +</file>