Посоветуйте, пожалуйста, библиотеку для записи в переменную огромного числа. У меня число, в худшем случае, 10^10000. Требуется ввести размерность квадратной матрицы, для задания нужно ввести 10000. Затем вывести в консоли произведение чисел на главной диагонали. У меня матрица заполняется числами от 1 до 10. Чисел на главной диагонали 10000, поэтому число получается слишком большим. Я уже пытался найти библиотеку, в итоге скачал одну, а она слишком старой оказалась...
| Код | #include <iostream> #include <ctime> #include <chrono> using namespace std;
int main() { setlocale(LC_ALL, "rus"); srand(time(NULL)); int n; long number = 1; cout << "Введите размерность квадратной матрицы:" << endl; cin >> n; int** mass = new int* [n]; for (int count = 0; count < n; count++) mass[count] = new int[n]; for (int count_row = 0; count_row < n; count_row++) for (int count_column = 0; count_column < n; count_column++) { mass[count_row][count_column] = (rand() % 10) + 1; } chrono::steady_clock::time_point begin = chrono::steady_clock::now(); for (int i = 0; i < n; i++) { number *= mass[i][i]; } chrono::steady_clock::time_point end = chrono::steady_clock::now(); __int64 microsecondsDuratin = chrono::duration_cast<chrono::microseconds>(end - begin).count(); cout << "Размерность матрицы: " << n << endl; cout << "Произведение чисел главной диагонали матрицы: " << number << endl; cout << "Время расчёта произведения в миллисекундах: " << microsecondsDuratin << endl; for (int count = 0; count < n; count++) delete[]mass[count]; system("pause"); return 0; }
|
|