Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
sofron
0 / 0 / 0
Регистрация: 28.11.2012
Сообщений: 21
#1

Длинное произведение - C++

07.12.2012, 18:44. Просмотров 593. Ответов 7
Метки нет (Все метки)

Даны целые неотрицательные числа M и K. Найти M*K.
Ограничения: 0 ≤ M ≤ 102500, |K|≤109.
Ввод из файла longprod.in. В первой строке находится число M, во второй - N.
Вывод в файл longprod.out. Вывести одно число - результат умножения.
Пример
longprod.in longprod.out
9876543210 10108215200126352690
1023456789
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.12.2012, 18:44     Длинное произведение
Посмотрите здесь:

C++ Короткое и длинное слово
C++ В матрице найти произведение над главной диагональю,если произведение делится на 3 заменить побочную диагональ 0.
самое длинное слово C++
C++ длинное слово
C++ Строки. В заданном тексте найти самое длинное слово и самое длинное предложение.
В матрице F(4,9) найти произведение элементов , что превышают заданное число B . Вывести матрицу и произведение . C++
C++ Найти в тексте самое длинное слово и самое длинное предложение
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
znseday
16 / 16 / 1
Регистрация: 20.03.2012
Сообщений: 450
07.12.2012, 19:38     Длинное произведение #2
Что то непонятно насчет ограничений и что есть что.
использовать тип данных int64 не вариант?
Avazart
7066 / 5243 / 263
Регистрация: 10.12.2010
Сообщений: 23,072
Записей в блоге: 17
07.12.2012, 19:50     Длинное произведение #3
1. Множить самому долго и нудно...
2. Использовать библиотеку длинных чисел типа gmp или NTL
sovaz1997
CEO SOVAZ Corp.
380 / 226 / 2
Регистрация: 17.12.2011
Сообщений: 819
Записей в блоге: 1
Завершенные тесты: 1
07.12.2012, 19:58     Длинное произведение #4
C++
1
unsigned long long//тип данных (18 десятичных знаков)
Croessmah
Модератор
Эксперт CЭксперт С++
12892 / 7278 / 811
Регистрация: 27.09.2012
Сообщений: 17,977
Записей в блоге: 2
Завершенные тесты: 1
07.12.2012, 20:18     Длинное произведение #5
Цитата Сообщение от sofron Посмотреть сообщение
Пример
longprod.in longprod.out
9876543210 10108215200126352690
1023456789
Ограничения: 0 ≤ M ≤ 102500, |K|≤109.
Avazart
7066 / 5243 / 263
Регистрация: 10.12.2010
Сообщений: 23,072
Записей в блоге: 17
07.12.2012, 20:22     Длинное произведение #6
102 500*109 = 11 172 500

http://citforum.ru/programming/cpp_march/cpp_017.shtml

unsigned long 0...4 294 967 295
Dani
1276 / 634 / 55
Регистрация: 11.08.2011
Сообщений: 2,272
Записей в блоге: 2
Завершенные тесты: 1
07.12.2012, 23:09     Длинное произведение #7
раз К мало, то писать длинку проще. Достаточно, например, разбить большое число на массив, элемент которого равняется цифре числа (по порядку). Затем умножить каждый элемент массива на К и снести десятки, т.е. перенести лишнее на разряд.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.12.2012, 23:40     Длинное произведение
Еще ссылки по теме:

Самое длинное предложение C++
C++ Длинное число
Длинное сложение C++
Найти наибольшее произведение пары элементов массива (при условии, что произведение кратно 8, но не кратно 24) C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
diagon
Higher
1924 / 1190 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
07.12.2012, 23:40     Длинное произведение #8
Очевидно, автор просто скопипастил ограничения из какой-то задачи, и у него не скопировался значок степени.
Так что реальные ограничения, судя по всему равны 0 ≤ M ≤ 10**2500, |K|≤10**9.
И это просто умножение длинного числа на короткое(кодится гораздо проще, чем длинное на длинное).
Yandex
Объявления
07.12.2012, 23:40     Длинное произведение
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru