• Нужна программа на pascal
    Современные компьютеры могут выполнять арифметические действия с достаточно большими целыми числами (максимальное число целого типа 18446744073709551615), а всего 20 лет назад диапазон был ограничен 65536, что меньше в несколько сотен триллионов раз (10 в 14 степени раз).

    Но как быть, если нужно выполнить арифметические операции над числами, разрядность которых больше 20 (т.е. число будет больше, чем 18446744073709551615)? Один из способов, это представить число в виде массива, элементы которого цифры данного числа.
    Напишите программу для поиска максимального из трех чисел, состоящих из 20 разрядов.
    Входные данные:
    Три числа, перечисленные через пробел. Разрядность каждого не более 25. Числа не равны.

    Выходные данные:
    Наибольшее из трех заданных чисел.

    ПРИМЕР:
    Входные данные:
    1234 12345678901234567890 123123123123123
    Выходные данные:
    12345678901234567890

    Входные данные:
    32345678901234567890 12345678901234561111 12345678901234567890
    Выходные данные:
    32345678901234567890

Ответы 1

  • Решение, использующее указанный способ, находится во вложенном файле. Хочу предупредить: программа была написана в среде PascalABC.NET, и в каких-то других средах массивы могут вести себя не совсем правильно, т.е. выдавать ошибку. В этом случае попробуйте изменить строку с объявлением n на "n:array[1..3] of array[0..24] of byte;", убрать строку "setlength(n[i],len[i]);" и все выражения  вида n[a][b] заменить на n[a,b].
    • Автор:

      fellow
    • 6 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years