Библиотека Рефераты Курсовые Дипломы Поиск
Библиотека Рефераты Курсовые Дипломы Поиск
сделать стартовой добавить в избранное
Кефирный гриб на сайте www.za4et.net.ru

Компьютеры, Программирование Компьютеры, Программирование

Задачи на длинную арифметику

Мыло металлическое "Ликвидатор".
Мыло для рук «Ликвидатор» уничтожает стойкие и трудно выводимые запахи за счёт особой реакции металла с вызывающими их элементами.
197 руб
Раздел: Ванная
Ручка "Помада".
Шариковая ручка в виде тюбика помады. Расцветка корпуса в ассортименте, без возможности выбора!
25 руб
Раздел: Оригинальные ручки
Совок №5.
Длина совка: 22 см. Цвет в ассортименте, без возможности выбора.
18 руб
Раздел: Совки

Рассмотрим достаточно популярную в программировании задачу на работу с "длинными" числами. Реально с "астрономическими" или "микроскопическими" числами приходится сталкиваться не так уж и часто. Тем не менее, упражнения, рассматриваемые в этой публикации, могут послужить хорошей тренировкой в области программирования и занять достойное место в классах с углубленным изучением информатики или на кружках по программированию. Алгоритмы, представленные ниже, записаны на urbo Pascal, версия7.0. При желании или необходимости они могут легко быть адаптированы к любой другой программной среде. Диапазон представления целых чисел (I eger, Word, Lo gI ) ограничен, о чем не раз уже говорилось (впрочем, для действительных величин это замечание тоже актуально). Поэтому при решении задач всегда приходится действовать с оглядкой, — как бы не допустить возникновения ошибки выхода за диапазон или переполнения. Например, вычисляя факториал ( !=1 2 3 ), в диапазоне представления величин типа I eger удастся правильно получить только 7!=5040, а в диапазоне представления типа Lo gI — 12!=479001600. Для больших значений, конечно, можно использовать действительные типы данных, но это уже не гарантирует точного результата. Поэтому полезно для получения точных значений при действиях с многозначными числами разработать другие способы представления таких чисел, алгоритмы выполнения арифметических и других операций, процедуры ввода и вывода результатов и т.д. Покажем реализацию решения такого рода задач на примере умножения одного многозначного числа на другое. Именно эта арифметическая операция наиболее часто используется при решении других задач. Наиболее естественным способом представления многозначного числа является запись каждого его разряда в виде отдельного элемента линейного массива (или списка, где память под цифру будет отводиться по мере надобности, в то время как в массиве приходится заранее задавать максимальное количество элементов в нем). Пусть (для удобства дальнейших действий) разряды "длинного" числа при записи в массив нумеруются с единицы, начиная с разряда единиц, т.е. цифра из разряда единиц — элемент массива с номером один, цифра из разряда десятков — элемент массива с номером два и т.д. Определим для работы с "длинными" неотрицательными числами тип данных:           Co s M ax = 2000;           ype Digi = 0.9;                DlChislo = Array Of Digi ; Для решения поставленной задачи необходимо уметь выполнять следующие действия: 1) ввод "длинного" числа; 2) собственно умножение двух "длинных" чисел; 3) вывод "длинного" числа; 4) определение количества цифр в записи числа. Каждую из подзадач реализуем в виде отдельной подпрограммы. Начнем с ввода. Ввести большое число целесообразно в виде строки, а в дальнейшем преобразовать в массив цифр. В процедуре учтен указанный выше способ размещения "длинного" числа в массиве, т.е. с точки зрения пользователя число записывается как бы в обратном порядке. {Процедура преобразования длинного числа, записанного  в виде строки, в массив цифр; переменная OK принимает значение rue,  если в записи числа нет посторонних символов, отличных от десятичных  цифр, иначе — false}  Procedure ra sla e(S : S ri g; Var A : DlChislo; Var OK : Boolea );  Var I : Word;  Begi      Zero(A); I := Le g h(S); OK := rue;      While (I >= 1) A d OK Do       Begi           If S:= Ord(S) - 48           Else OK := False; I := I - 1       E d  E d; В процедуре вызывается подпрограмма Zero(A), назначение которой — запись нуля в каждый разряд длинного числа.

Вот текст этой процедуры:      {Процедура обнуления длинного числа}      Procedure Zero(Var A : DlChislo);      Var I : I eger;      Begi         For I := 1 o Max Do A := 0;      E d; Таким образом, длинное число записано в массив, где впереди (в качестве элементов с большими номерами) стоят незначащие нули. При выполнении действий и выводе ответа они не учитываются. Сейчас разработаем функцию определения количества значащих цифр в записи числа, поскольку она потребуется при реализации подпрограммы умножения.    {Функция определения количества цифр в записи длинного числа}      Fu c io Dli a(C : DlChislo) : I eger;      Var I : I eger;      Begi        I := Max;        While (I > 1) A d (C = 0) Do I := I - 1;        Dli a := I      E d; При ее разработке было использовано следующее соображение: если число не равно нулю, то количество цифр в его записи равно номеру первой цифры, отличной от нуля, если просмотр числа осуществляется от старшего разряда к младшему. Если же длинное число равно нулю, то получается, что количество цифр в его записи равно одной, что и требовалось. Ну и, наконец, главная процедура, ради которой и была проделана вся предшествующая работа. При составлении алгоритма используется идея умножения "столбиком", хотя в нашем варианте сложение выполняется не по окончанию умножения, а по ходу его, т.е. перемножив очередные цифры, сразу же добавляем результирующую цифру в нужный разряд и формируем перенос в следующий разряд. {Процедура умножения длинных чисел.  A, B — множители, C — произведение}  Procedure Mul iplica io (A, B : DlChislo; Var C : DlChislo);  Var I, J : I eger; P : Digi ; VspRez : 0.99;   Begi     Zero(C);     For I := 1 o Dli a(A) Do {Цикл по количеству цифр                                в первом числе}      Begi         P := 0; {Первоначально перенос равен нулю}         For J := 1 o Dli a(B) Do {Цикл по количеству цифр                                    во втором числе}          Begi            VspRez := A;            C := VspRez Mod 10; {Очередное значение цифры в                                            разряде I J - 1}            P := VspRez Div 10 {Перенос в следующий разряд}          E d;        C := P {последний перенос может быть отличен от нуля,                       запишем его в пока ещё свободный разряд}      E d   E d; Сейчас приведем листинг программы целиком. Program DlUm ; Co s Max = 2000; ype Digi = 0.9; DlChislo = Array Of Digi ; Var S : S ri g;     M, , R, F : DlChislo;     I, MaxF : Word;     Logic : Boolea ; {Процедура обнуления длинного числа} Procedure Zero(Var A : DlChislo); Var I : I eger;   Begi     For I := 1 o Max Do A := 0;   E d; {Функция определения количества цифр в записи длинного числа} Fu c io Dli a(C : DlChislo) : I eger; Var I : I eger;  Begi    I := Max;    While (I > 1) A d (C = 0) Do I := I - 1;    Dli a := I  E d; {Процедура печати длинного числа} Procedure Pri (A : DlChislo); Var I : I eger;  Begi     For I := Dli a(A) Dow o 1 Do Wri e(A : 1);     Wri eL  E d; {Процедура преобразования длинного числа в массив цифр} Procedure ra sla e(S : S ri g; Var A : DlChislo;                     Var OK : Boolea ); Var I : Word;  Begi    Zero(A); I := Le g h(S); OK := rue;    While (I >= 1) A d OK Do    Begi       If S := Ord(S) - 48       Else OK := False;       I := I - 1    E d  E d; Procedure Mul iplica io (A, B : DlChislo; Var C : DlChislo); Var I, J : I eger; P : Digi ; VspRez : 0.9

9;  Begi   Zero(C);   For I := 1 o Dli a(A) Do   Begi P := 0;         For J := 1 o Dli a(B) Do         Begi           VspRez := A := VspRez Mod 10;        P := VspRez Div 10      E d;         C := P    E d  E d; {Основная программа} Begi    Repea {повторяем ввод, пока число не будет введено правильно}      Wri e('Введите первый множитель: ');      ReadL (S); ra sla e(S, M, Logic)    U il Logic;    Repea      Wri e('Введите второй множитель: ');      ReadL (S); ra sla e(S, , Logic)    U il Logic;    Mul iplica io (M, , R); Pri (R) E d. В приведенном листинге Pri — процедура вывода длинного числа. Предоставим читателю самостоятельно разобраться в алгоритме ее работы. Вернемся к вычислению факториала. Используя разработанные подпрограммы, определим, значение факториала какого максимального числа можно разместить в памяти при таком представлении длинных чисел. Вот измененный фрагмент основной программы, решающий поставленную задачу.   Begi     MaxF := 810;     Zero(F);     F := 1;     For I := 1 o MaxF Do      Begi        S r(I, S); {преобразование числа I к строковому типу S}        ra sla e(S, M, Logic);        Mul iplica io (F, M, F);        Pri (F);        Wri eL ('Факториал числа ', I : 4, ' содержит ', Dli a(F), ' цифр.')      E d    E d. Расчеты показали, что можно вычислять факториалы до значения 810! включительно, в записи которого 1999 цифр. Далее вновь возникает переполнение. Расчеты по программе продолжаются около 5 минут (IBM PC с процессором Pe ium–100). Ниже будет предложен список задач для самостоятельного выполнения. Из них, по мнению автора, наибольшую сложность представляют реализации алгоритмов деления одного длинного числа на другое и извлечение квадратного корня. Алгоритм извлечения квадратного корня подробно описан в справочнике В.А. Гусева и А.Г. Мордковича . В некоторых случаях составленные программы могут выступать как подпрограммы при разработке алгоритмов решения других, более сложных (как в примере с факториалом), задач. Кроме авторских задач и задач из списка литературы здесь приведены задания из олимпиад школьников по программированию, проводившихся в Пермской области в 1989-99гг. Задачи для самостоятельного решения Составить программу сравнения двух многозначных чисел (количество знаков в записи чисел более20). Составить программу, суммирующую два натуральных многозначных числа с количеством знаков более20. Составить программу вычисления степени a , если a > MaxI , >10. Составить программу вычисления числа 264 – 1, в результате сохранить все цифры. Составить программу вычисления 100!. Составить программу извлечения точного квадратного корня из -разрядного числа ( >40). Составить программу вычисления точного значения !, где > 12. Составить программу вычисления точного значения , где > 10. Составить программу деления числа a на число b, если a, b — многозначные числа. Вычислить 100! 2100. Вычислить 100! – 2100. Вычислить 7123. Встречаются ли среди цифр числа 211213 – 1 две подряд идущие девятки? Вычислить 2–200. Составить программу нахождения частного и остатка от деления m-значного числа на –значное (m, > 20).

Действительно, Левушка работал плохо, не понимал задач по арифметике, не прилагал никаких усилий, чтобы запомнить имена и даты, которыми учителя перегружали его память. Тем не менее за этой леностью легко различимы были необыкновенные чувствительность и воображение. Это признавал даже Проспер Сен-Тома. «У этого ребенка голова!P заявил он как-то.P Это маленький Мольер!» Столь лестная оценка не подкупила мальчика с самого начала он невзлюбил этого иностранца за его эгоизм, претензии и самоуверенность. Когда Сен-Тома хотел наказать учеников, он бил себя в грудь и кричал: «На колени, негодяй!» Чем старательнее, казалось Леве, Сен-Тома порывался унизить его, тем сильнее было желание восстать. Однажды из бравады он решил показать ему язык. Сен-Тома схватил его за руки и бросил в чулан, угрожая розгами. На самом деле, зная об отношении в семье к телесным наказаниям, он никогда не осмелился бы сделать это. Но Левушка уже видел себя обесчещенным и униженным этим жестоким учителем, пахнущим фиалками. Выпорот, как мужик! Все, только не это! Сидя на сундуке в кромешной тьме, со слезами на глазах, задыхающийся от ярости, он безудержно предавался мечтам

1. "Длинная" арифметика

2. Примеры задач и их решение по уголовному процессу

3. Составить программу обучения работе с клавиатурой

4. Диагностика банкротства предприятия и разработка антикризисной программы (на примере ООО «Оптима»)

5. Разработка системы задач (алгоритмы-программы) по дискретной математике

6. Учебник по языку Ассемблер в задачах и примерах
7. Учебник по языку Turbo Pascal в задачах и примерах
8. Цель, задачи и проблемы формирования холдинговых компаний. Становление холдинговых компаний в России (на примере ВПК)

9. Пример решения задачи по механике

10. К вопросу совершенствования методологии прогнозирования задач спорта (на примере плавания)

11. Особенности вещественного состава свинцово-цинковых руд и их влияние на экологическое равновесие на примере месторождений

12. Исследование некоторых задач в алгебрах и пространствах программ

13. Примеры решения задач по правоведению

14. Цели, задачи и практика выполнения государственной программы "Электронная Россия"

15. Работа журналиста в прямом эфире на примере программ "Город сегодня" и "Как жить будем"

16. Примеры решения задач по программированию

Папка для труда, А4.
Формат листов: А4. Материал: картон, текстиль. Товар в ассортименте, без возможности выбора! На фото представлен не весь ассортимент товара!
366 руб
Раздел: Папки-портфели, папки с наполнением
Карандаши цветные "Lyra Groove Slim", 12 цветов + точилка.
Карандаши с эргономичным захватом по всей длине. Диаметр грифеля 3,3 мм! Точилка. Уникальные карандаши с канавками! Запатентовано! Научите
540 руб
Раздел: 7-12 цветов
Набор чехлов для путешествий "Бон вояж".
В набор чехлов для путешествий входит 5 чехлов различного размера и назначения, в которые можно положить любые вещи, которые пригодятся
520 руб
Раздел: Чехлы для одежды

17. Разработка формата хранения данных программ и решение задач

18. Решение задач оптимизации бизнес-процессов с использованием прикладных программ

19. Решение задачи с помощью программ Mathcad и Matlab

20. Решение задачи с помощью программ Mathcad и Matlab

21. Решение математических задач с помощью алгоритмического языка Turbo Pascal, Microsoft Excel, пакета MathCAD и разработка программ в среде Delphi

22. Антивирусные программы. Матричный принцип печати. Решение задач на ЭВМ
23. ИФЛА – всемирная организация библиотечных работников, её цели, задачи, структура, основные программы
24. Разработка программы развития деятельности предприятия розничной торговли на примере ИП Колпакова Т.И.

25. Задачи и примеры их решения по теории вероятности

26. Анимационные программы: задачи, цели, перспективы

27. Примеры решения задач по курсу химии

28. Задачи анализа финансового состояния предприятия на примере ОАО "Клинский Машзавод"

29. Примеры решения задач по статистике

30. Градостроительство феодального Китая на примере Пекина

31. Оценка безотказной работы технической аппаратуры (задачи)

32. Особенности искусственных спутников земли на примере спутниковых систем связи

Банки для сыпучих продуктов (3 штуки) и ложки "Birds" 8,5х12 см, 350 см.
Банки для сыпучих продуктов (3 штуки) и ложки "Birds" станут незаменимым атрибутом приготовления пищи. Прекрасно впишутся в
642 руб
Раздел: Наборы
Шарики для бассейна, 500 штук.
Шариками можно наполнить бассейн, манеж, игровую палатку или домик. Материал: безопасный, экологически чистый пластик. Диаметр шара 7 см.
3027 руб
Раздел: Шары для бассейна
Набор первоклассника, для девочек, 16 предметов.
В наборе 16 предметов: - Подставка для книг. - Настольное покрытие для творчества. - Веер "гласные". - Веер
721 руб
Раздел: Наборы канцелярские

33. Размножение

34. Грибы. Строение. Питание. Размножение. Происхождение. Развитие

35. Влияние физических нагрузок на опорно-двигательный аппарат на примере плавания

36. Организация выполнения задачи командиром инженерно-саперного взвода по проделыванию проходов в минно-взрывных заграждениях перед переднем краем обороны противника

37. Воспитательная работа с личным составом в период подготовки к воинской службе (Виховна робота з особовим складом у період підготовки до несення служби військ)

38. Территориальные особенности демографического кризиса в России (на примере Самарской области)
39. Контрольные вопросы для самопроверки (темы: "Предмет и задачи экономической географии" и другие)
40. Требования к геодезическому обоснованию вариометрической съёмки на примере Курской магнитной аномалии

41. Взаимоотношения предприятия с бюджетом на примере Дальневосточного морского пароходства

42. Налогообложение в условиях рыночной экономики (на примере предприятия ООО "Служба быта")

43. Основные задачи сферы государственного регулирования

44. Стандартизация. Задачи стандартизации в области объектов коммерчекой деятельности

45. Порядок исчисления налога на прибыль организаций торговли на примере ЗАО «…»

46. Правоохранительную деятельность и основные задачи адвокатуры

47. Переход к рыночной экономике в России и задачи ОВД

48. Содержание договора о передаче прав на программу для ЭВМ

Шкатулка РТО, 31x31x19 см (арт. 3658-RT-70).
Шкатулки РТО — стильный аксессуар и для рукодельницы, и для филателиста, и для всех, кому приходится на время прятать, используемые в
1500 руб
Раздел: Шкатулки для рукоделия
Крем-гель для купания "Sanosan", 200 мл.
Разработан специально для детей с первых дней жизни. Содержит оливковое масло и молочный протеин, которые питают и смягчают кожу.
317 руб
Раздел: Гели, мыло
Гель для стирки детского белья "Cotico", 2 литра.
Гель для стирки детского белья предназначен для использования в стиральных машинах любого типа и ручной стирки. Подходит для белья грудных
314 руб
Раздел: Для стирки детских вещей

49. Земельный кадастр как инструмент регулирования социально-экономического развития города (на примере г. Екатеринбурга)

50. Источники и кодификация права Украины в составе России в 18 ст.

51. Правовой статус Королевства Польского в составе Российской Империи

52. Субъекты конституционного права на примере Конституции Российской Федерации. Перспективы развития

53. Разделение властей на примере РФ

54. Муниципальная собственность как объект муниципального управления (на примере МО “Город Архангельск”)
55. Цели, задачи и функции прокуратуры Украины
56. Цели, задачи и структура Федерального закона № 122-ФЗ

57. Решение задач по курсу "семейное право"

58. Понятие и задачи таможенного оформления, порядок производства

59. Юридическая техника и язык права (на примере правовых актов органов государственной власти Нижегородской области)

60. Правила составления и оформления документов по личному составу

61. Использование библейских сюжетов в проектной деятельности учащихся старших классов средней школы (на примере немецкого языка)

62. Развитие мест посещений (дестинации) на примере озера Myvatn

63. Сниженная лексика английского языка и ее перевод на русский язык (на примере переводов романа С. Кинга “Долгий путь”)

64. Принципы работы редактора над статьями в энциклопедическом издании (на примере детских энциклопедий издательства "Дорлинг Киндерсли")

Горшок дорожный и насадка на унитаз "HandyPotty".
Дорожный горшок и насадка на унитаз HandyPotty помогут сделать путешествие еще комфортнее для малыша. Комбинированная модель сочетает в
1128 руб
Раздел: Сиденья
Настольная игра Какаду "Упрямый Шарик" (Водный Рай).
Игра 100% такая же, как была в СССР! Цель игры Путешествие Шарика или Кто Быстрее - провести маленький металлический шарик через
1452 руб
Раздел: Игры на ловкость
Кружка "On/Off".
Оригинальная чашка - меняет цвет и надпись при нагревании. Упаковка стилизованная - качественный картон. Размеры упаковки: 11х10х8
448 руб
Раздел: Кружки

65. Кубизм. На примере творчества П. Пикассо

66. Особенности деловой этики и протокола в Великобритании (на примере графства Англия)

67. Донские казаки и революция на примере судьбы Григория Мелихова

68. Использование символа как стилистического средства в поэзии символизма (на примере лирики немецкого поэта Стефана Георге)

69. Концепция отчуждения личности и общества в философии Альбера Камю (на примере повести "Посторонний")

70. Концепты общества потребления во французской литературе 50-60-х годов 20 века на примере романов Э. Триоле "Розы в кредит", Ж. Перек "Вещи" и С. де Бовуар "Прелестные картинки"
71. Жанр автобиографии на примере «Автобиографии» Бенджамина Франклина
72. Переход от традиционного романа к модернистскому на примере произведения Германа Гессе "Степной волк"

73. Поле запаха в немецком языке на примере романа П.Зюскинда ПАРФЮМЕР

74. Исследование концептуальных метафор на примере новелл Франца Кафки

75. Особенности трактовки сонатного цикла на примере клавирной сонаты А - dur (KV331)

76. Политическая программа декабристов

77. Кирилло-Мефодьевское братство: программа его деятельности

78. Оружие массового поражения: фактор национальной безопасности или средство устрашения (На примере отношений США и России в ХХ веке)

79. Первые шаги российского парламентаризма: задачи и причины роспуска I Государственной думы (май - июнь 1906г.)

80. Компьютерные вирусы и антивирусные программы

Маркеры-кисти "Zendoodle. Edding 1340", 10 штук.
Набор фломастеров с гибким наконечником в виде кисточки. Различная толщина линии. Идеально подходит для раскрашивания печатей. Чернила на
664 руб
Раздел: 7-12 цветов
Дневник школьный "Голубой щенок".
Формат: А5+ (210х160 мм). Количество листов: 48. Внутренний блок: офсет 70 г/м2. Способ крепления: ниткошвейный. Переплет: твердый с
381 руб
Раздел: Для младших классов
Бумага для офисной техники "IQ Selection", А4, 160 г/м2, 167% CIE, 250 листов.
Прекрасное качество печати на любой копировально-множительной технике, великолепное качество при двухстороннем копировании. Формат листов:
572 руб
Раздел: Формата А4 и меньше

81. Разработка программы для расчета финансовых показателей, используемых в составлении бизнес-плана на языке Visual Basic

82. Анализ рынка бухгалтерских и аналитических программ

83. Проект учета пользовательских счетов для интернет-провайдеров на базе OS FreeBSD с применением программы "Billing ISP"

84. Информационно-поисковые системы на примере "Рамблера"

85. Вычислительная техника в управлении на примере управления международных связей ВГУЭС

86. Технология беспроводной передачи информации на примере технологии Bluetooth
87. Отчетная ведомость склада. Пример отчета СУБД FoxPro
88. Программа эмуляции развития популяций животных

89. Разработка алгоритмов и программ выполнения операций над последовательными и связанными представлениями структур данных

90. Задача про транспортную систему. Подбор вариантов проезда с учетом кол-ва пересадо, длительности, видов транспорта (самолет, авто, поезд, водн.) (и класса)

91. По решению прикладных задач на языке FRED

92. Пример базы данных на Delphi 2.0

93. Изучение методики перевода из одной системы исчисления в другую и разработка программы для этой операции

94. Набор процедур манипулирования с целыми числами произвольной длины

95. Защита программ от компьютерных вирусов

96. Программа сложной структуры с использованием меню

Набор для проведения опытов по выработке электричества "Маленький гений".
Сейчас уже невозможно представить жизнь человечества без электричества. Для обеспечения людей электричеством работают огромные
452 руб
Раздел: Физические опыты
Бумага "IQ Color", А4, 250 листов, 5 цветов.
Обладает высокой однородностью цвета и точной нарезкой листа. Применяется для печати на копировально-множительной технике, лазерных и
462 руб
Раздел: Формата А4 и меньше
Глобус Земли, физический, 320 мм.
Глобус Земли физический. Диаметр: 320 мм. На пластиковой подставке.
711 руб
Раздел: Глобусы

97. Пример программирония на Бейсике (результаты сессии 25 студентов, сдавших 5 экзаменов)

98. Программа сложной структуры с использованием меню

99. Разработка программы- тренажера "Управление электросетями"


Поиск Рефератов на сайте za4eti.ru Вы студент, и у Вас нет времени на выполнение письменных работ (рефератов, курсовых и дипломов)? Мы сможем Вам в этом помочь. Возможно, Вам подойдет что-то из ПЕРЕЧНЯ ПРЕДМЕТОВ И ДИСЦИПЛИН, ПО КОТОРЫМ ВЫПОЛНЯЮТСЯ РЕФЕРАТЫ, КУРСОВЫЕ И ДИПЛОМНЫЕ РАБОТЫ. 
Вы можете поискать нужную Вам работу в КОЛЛЕКЦИИ ГОТОВЫХ РЕФЕРАТОВ, КУРСОВЫХ И ДИПЛОМНЫХ РАБОТ, выполненных преподавателями московских ВУЗов за период более чем 10-летней работы. Эти работы Вы можете бесплатно СКАЧАТЬ.