Число различных простых чисел данного числа
Я хочу найти число различных простых чисел данного числа, я передаю массив в функцию, а затем умножаю все элементы массива, чтобы сгенерировать число, я получаю ошибку шины для некоторых тестовых случаев
Что я уже пробовал:
int Solution::solve(vector<int> &A) { long long int mul = 1; for(int i=0;(i<A.size()-1);i++) { mul = mul*A[i]; } int new1 = mul; int arr[new1 + 1]; memset(arr, 0, sizeof(arr)); for (int i = 2; i * i <= new1; i++) { if (!arr[i]) { for (int j = 2 * i; j <= new1; j += i) { arr[j]++; } } arr[i] = 1; } return *max_element(arr, arr+new1); }
Eric Lynch
Я бы добавил некоторую обработку исключений, чтобы выяснить, какие случаи вызывают ошибку, а затем прошел бы через отладчик для одного из этих случаев, чтобы выяснить, какая строка вызывает ошибку.
Richard MacCutchan
"Я получаю ошибку шины для некоторых тестовых случаев"
Какие тестовые случаи и где вы получаете ошибку?
CPallini
1. Я хочу найти число различных простых чисел данного числа,
2. Я передаю массив в функцию, а затем умножаю все элементы массива, чтобы сгенерировать число,
Как связаны между собой предложения (1) и (2)?
KarstenK
Действительно странный код, не работает для простого числа.
Запишите некоторые тестовые данные, включите больше выходных данных и используйте отладчик.