Форум программистов, компьютерный форум, киберфорум
Наши страницы

Действия над многорозряднымии числами(очень длинными) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Классы. С++. Описание и пояснение к проге... http://www.cyberforum.ru/cpp-beginners/thread168099.html
Требуется: Определить класс сортированный список элементов. В определение класса включить два конструктора для определения списка по его размеру и путем копирования другого списка. Предусмотреть...
C++ Приведение матрицы к диагональному виду Всем привет! Помогите решить задачку на с++: Привести матрицу n*n к диагональному виду, иллюстрируя каждый шаг. У меня получилось вывести матрицу на экран: #include <iostream> #include... http://www.cyberforum.ru/cpp-beginners/thread168067.html
C++ Составить функцию которая добавляет в начало числа, увеличивая порядок числа на 1.
Здравствуйте, помогите решить задачу на C++: Составить функцию, которая, получив целое число, сравнивает первую и последнюю его цифры и, если последняя цифра больше первой, то ее функция добавляет...
C++ Считывание строки из файла
Здравствуйте Проблема такая: во время считывания строки из файла выносит из проги ifstream fin("in.txt"); string word(""); while (!fin.eof()) { getline(fin, word, '\n');//выносит здесь ...
C++ Зашифровать слово используя шифр четырех квадратов http://www.cyberforum.ru/cpp-beginners/thread168027.html
Используя шифр четырех квадратов, зашифровать слово programmer
C++ Одномерные массивы. Алгоритмы поиска и сортировки. Создать массив на 10 элементов!!! Найти наибольшее отрицательное число среди элементов с четными индексами. подробнее

Показать сообщение отдельно
silent_1991
Эксперт С++
4987 / 3044 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
22.09.2010, 13:54
Основываемся на представлении числа в виде массива.
Для факториала всё равно придётся реализовать произведение двух больших чисел. Сложение основывается на школьном алгоритме сложения столбиком. Вся сложность (относительная) - реализация перенесения разряда при его переполнении. Умножение так же реализуется столбиком, на основе уже реализованного сложения. Ну а факториал банально реализуется на основе уже написанного умножения (только не в коем случае не рекурсия - только цикл).
Для сравнения A и B сначала проверяем количество разрядов у каждого из них. Если у одного разрядов больше, чем у другого, то оно заведомо больше. Если количество разрядов равно, сравниваем числа поразрядно, начиная со старшего разряда. Если у A старший разряд больше, чем у B, то A соответственно больше B. Если старшие разряды равны, переходим на разряд младше на порядок. И т.д. Работает в обе стороны. Возвращать в зависимости от результатов проверки -1, 0, 1 (меньше, равны, больше).

Добавлено через 44 секунды
На счёт ссылки - ищите в гугле "Длинная арифметика"
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru