Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.04.2010, 19:02   #1
Angel-dm
ICQ: 444663614
 
Регистрация: 19.03.2010
Сообщений: 9
Восклицание Даны взаимно простые натуральные числа m и n (m>n). Найти переодическую и непереодическую части десятично

Даны взаимно простые натуральные числа m и n (m>n). Найти переодическую и непереодическую части десятичной дроби равной m/n.

(Условия для написания программы:
Очевидно, что различных остатков при делении на n не может быть больше, чем n (их значения лежат в интервале от n до n-1).Если даже все первые n остатков при делении m на n различны, то (n-1)-й остаток обязательно совподает с одним из уже полученных ранее, т.е. он находиться в переодической части.
Поэтому для нахождения длинны периода L следует запомнить (n-1)-й остаток и генерировать остатки дальше, пока не будет получен совподающий с ним. Количество полученных при этом чисел и составляет длинну периода.
Если известна длинна периода L, непериодическую часть можно найти следующим образом. Сначала получаютL-й остаток. Если он совподает с m, то непереодическая часть нулевая, в противном случае - сравнивают первый и (L+1)-й остаток, второй (L+2)-й и т.д., пока не найдеться совподающая пара. Количество сравнений до совпадений и являеться длинной непереодической части. Получаемые при этом делении цифры можно выдавать на печать.Следующие же за непереодической частью L цифр результата деления составят период. Если дробь являеться конечной, то в качестве периода будет напечатано число 0. )

Последний раз редактировалось Angel-dm; 27.04.2010 в 19:15. Причина: Некоректный заголовок
Angel-dm вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Написать программу на Паскале!!! Для Профессионалов!))) Angel-dm Помощь студентам 4 27.04.2010 20:20
Нужно написать программу в паскале. Nicer Dicer Паскаль, Turbo Pascal, PascalABC.NET 4 21.04.2010 02:32