М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
MrDeder
MrDeder
11.06.2022 17:53 •  Информатика

Нужна программа на pascal современные компьютеры могут выполнять арифметические действия с достаточно большими целыми числами (максимальное число целого типа 18446744073709551615), а всего 20 лет назад диапазон был ограничен 65536, что меньше в несколько сотен триллионов раз (10 в 14 степени раз). но как быть, если нужно выполнить арифметические операции над числами, разрядность которых больше 20 (т.е. число будет больше, чем 18446744073709551615)? один из это представить число в виде массива, элементы которого цифры данного числа. напишите программу для поиска максимального из трех чисел, состоящих из 20 разрядов. входные данные: три числа, перечисленные через пробел. разрядность каждого не более 25. числа не равны. выходные данные: наибольшее из трех заданных чисел. пример: входные данные: 1234 12345678901234567890 123123123123123 выходные данные: 12345678901234567890 входные данные: 32345678901234567890 12345678901234561111 12345678901234567890 выходные данные: 32345678901234567890

👇
Ответ:
alena667
alena667
11.06.2022
Решение, использующее указанный находится во вложенном файле. Хочу предупредить: программа была написана в среде PascalABC.NET, и в каких-то других средах массивы могут вести себя не совсем правильно, т.е. выдавать ошибку. В этом случае попробуйте изменить строку с объявлением n на "n:array[1..3] of array[0..24] of byte;", убрать строку "setlength(n[i],len[i]);" и все выражения  вида n[a][b] заменить на n[a,b].
4,7(73 оценок)
Открыть все ответы
Ответ:
Анон5сен
Анон5сен
11.06.2022
Любое двухзначное число можно представить в виде k=10i+j, где i=1..9, j=0..9.
Тогда (10i+j)+(10j+i)=n², где n - натуральное число
11i+11j=n²; 11(i+j)=n² ⇒ n=√(11(i+j)).
Сумма i+j при указанных выше ограничениях может меняться от 1 до 18, но лишь i+j=11 позволит получить целочисленное n и оно будет равно 11.
Следовательно, алгоритм получения искомых чисел прост: i=11-j
Поскольку j=0 и 1 дадут значения i, равные 11 и 10 соответственно, j (и i) придется ограничить интервалом 2..9
Алгоритм простейший: для каждого i от 2 до 9 находим j=11-i и формируем два числа: 10i+j и 10j+i
4,6(75 оценок)
Ответ:
sashaselezneva1
sashaselezneva1
11.06.2022
-Вы пользуетесь интернетом (варианты: да, нет)
-Вы пользуетесь интернетом по долгу служы (да. нет)
-Вы пользуетесь интернетом для личных целей (да. нет)
-Какое количество времени Вы затрачиваете на пользование интернетом (час, два-три, более 3-х)
-Каким интернетом Вы пользуетесь (варианты-виды интернета xDSL, кабельный, модем-флешка точные названия не знаю)
-Вас устраивает качество, скорость используемого интернета (да. нет)
-Каким тарифом Вы предпочитаете пользоваться (базовый, лимитный, комбинированный)
-Вас устраивает сумма оплаты за используемый тариф (да, нет)
Вопросы личного характера:
-укажите Ваш возраст (до 15, 16-25 лет, 26-45 лет, 46-55 лет, более 55 лет)
-Ваш социальный статус ( школьник, студент ит. д. )
-Ваш уровень дохода (указать уровни)
4,6(42 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ