Найти и вывести произведение двузначных элементов массива, которые не делятся на 6 (c++)

karinalbi karinalbi    2   27.08.2019 20:15    5

Ответы
kristinamurrr1 kristinamurrr1  05.10.2020 23:22

АХТУНГ!

Произведение может вылетать за лимиты Long Long.

Ведь лимит лонг лонг вправо есть 9 223 372 036 854 775 807

И если увеличить количество чисел в массиве, допустим, до 100, то в теории может выйти 100^100 и это невесело.

#define COUNT 10

#define LIMIT 100

#include <iostream>

#include <ctime>

#include <random>

using namespace std;

int main() {

srand(time(NULL));

int a [COUNT];

long long result = 1;

for (int i = 0; i < COUNT; ++i)

 a[i] = rand()%(LIMIT-0+1) + 0;

for (int i = 0; i < COUNT; ++i)

 if (a[i] % 6 != 0 && a[i] > 9 && a[i] < 100 && a[i] != 0)

  result *= a[i];

cout << "Massive: ";

for (int i = 0; i < COUNT; ++i)

 cout << a[i] << " ";

cout << endl << "RESULT: " << result;

}

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика