IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> M/n - нужно напечатать период дроби, Помогите решить задачу!
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 3
Пол: Мужской

Репутация: -  0  +


Даны натуральные числа m и n. Напечатать период десятичной дроби m/n. Например, для дроби 1/7 периодом будет 142857, а если дробь конечная, то ее период состоит из одной цифры 0.

Люди, плиииз, помогите!!! Нужно срочно!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2





Группа: Пользователи
Сообщений: 3
Пол: Мужской

Репутация: -  0  +


Ребят, ну неужели ни кто не поможет? sad.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Пионер
**

Группа: Пользователи
Сообщений: 146
Пол: Мужской

Репутация: -  2  +


Напишу тебе саму идею, во-первых для наглядности попробуй поделить уголком 1/7 и посмотри что у тебя получится, а получится у тебя то, что в конечном счёте какой-то из остатков будет равен 1, т.е числу m, которое мы делим на n(7).......таким образом твоя задача сводится к подсчёту кол-ва остатков, а это и будет длина периода!!!! а зная длину периода, думаю ты сам сможешь допетрить как его вывести?! Разьве не так?
В общем делаем типа того:
Код

var
c,m,k,n:integer
begin
c:=m; {запоминаем остаток, т.е число m}
m := (10 * m) mod n; {следующий остаток}
k:=1;
while m <> c do {далее топаем дальше, ищем пока остаток не повторится}
              begin
                   m := (10*m) mod n;
                   inc(k); {считаем остатки}
{а дальше думаю напишешь сам!!!}

Ещё один момент, в начале проги частное m/n надо запомнить!!!! а то как же период выводить то?!!!!! короче потом частное умножаешь на кол-во остатков и выводишь целую часть int(m/n*k)..........
Если не понятно, напиши, объясним!!!!

Сообщение отредактировано: Amro -


--------------------
Закон иудеев: Семь раз отмерь, один отрежь.
Закон экономии: Семь раз отмерь, семь раз отрежь.
Закон программиста: Семь раз отрежь, ошибся, отмерь.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 25.04.2024 20:51
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name