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

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


Боковая панель

Связь

reshenie_zadachi_12

Задача 12

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

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

#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);
}



reshenie_zadachi_12.txt · Последние изменения: 2011/01/11 14:54 (внешнее изменение)