Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
tabbols
3 / 3 / 1
Регистрация: 05.12.2014
Сообщений: 74
Записей в блоге: 3
1

Выделить период в десятичной дроби, если таковой имеется

09.06.2015, 10:14. Просмотров 1573. Ответов 12
Метки нет (Все метки)

Добрый день, форумчане! Подскажите пожалуйста, стоит задача, выделить период в дроби, если таковой имеется !
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.06.2015, 10:14
Ответы с готовыми решениями:

Перед каждым знаком '=' вставить символ, стоящий за ним, если таковой имеется
нужно написать программу, которая читает с клавиатуры строку символов,...

Удалить из списка L за каждым вхождением элемента Е один элемент, если таковой имеется и он отличен от Е
помогите решить плз Составить программу, которая удаляет из списка L за каждым...

Умножение десятичной периодической дроби на число
Нужно написать программу которая принимает на вход два числа q и k Q -...

Найти длину периода и сам период бесконечной степенной дроби по основанию Р
время поджимает, завтра сдавать. препод ни фига не объясняет!!! есть решение,...

Перевод десятичной дроби в обычную и вывод на экран
Доброго времени суток, у меня такая проблема, мне нужно перевести десятичные...

12
Байт
Эксперт C
18526 / 12031 / 2508
Регистрация: 24.12.2010
Сообщений: 24,302
09.06.2015, 10:58 2
Цитата Сообщение от tabbols Посмотреть сообщение
стоит задача
Поставь задачу, пожалуйста, поточнее. Как эта дробь задается? И что значит "если таковой имеется"? У любого рационального числа период "имеется".
0
tabbols
3 / 3 / 1
Регистрация: 05.12.2014
Сообщений: 74
Записей в блоге: 3
09.06.2015, 11:03  [ТС] 3
Байт, сори, признаю ошибку.
Дробь вводится с клавиатуры, ввиде двух чисел (3 14), числитель и знаменатель.
На выходе должны получить число вида : 0,2(...), где, вместо (...) должен находиться период.

Добавлено через 33 секунды
Байт, Вопрос в том, как распознать этот период, так как он может содержать большое множество цифр.
0
Байт
Эксперт C
18526 / 12031 / 2508
Регистрация: 24.12.2010
Сообщений: 24,302
09.06.2015, 11:29 4
Цитата Сообщение от tabbols Посмотреть сообщение
как распознать этот период,
Период распознается по повторению остатка. Для этого можно завести массив размером со знаменатель, обнулить его. Потом делить столбиком, и отмечать в этом массиве (единичками) получающиеся остатки.

Добавлено через 2 минуты
Цитата Сообщение от tabbols Посмотреть сообщение
Байт, сори, признаю ошибку.
Я тоже вынужден признать свою.
Цитата Сообщение от Байт Посмотреть сообщение
У любого рационального числа период "имеется".
Моя плюха. Если деление удалось довести до конца (остаток = 0) то никакого периода в общепризнанном смысле нет.

Добавлено через 4 минуты
Там есть еще одна тонкость. Первые нули результата в период не входят.
1/70 = 0.0(142857)
А задача где-то на форуме решалась...
0
tabbols
3 / 3 / 1
Регистрация: 05.12.2014
Сообщений: 74
Записей в блоге: 3
09.06.2015, 11:31  [ТС] 5
Байт, а если получилось число 0,01010101, разве оно будет представлено не в таком виде 0,(01) ?
0
XZentus
201 / 199 / 65
Регистрация: 06.10.2013
Сообщений: 552
09.06.2015, 11:41 7
tabbols, в примере Байта период 142857, а не 0142857
0
Байт
Эксперт C
18526 / 12031 / 2508
Регистрация: 24.12.2010
Сообщений: 24,302
09.06.2015, 11:43 8
Цитата Сообщение от tabbols Посмотреть сообщение
Байт, а если получилось число 0,01010101, разве оно будет представлено не в таком виде 0,(01) ?
Случайное совпадение с каноническим 0.0(10)
Это 1/99 кажется? А посмотри на 1/990.
0
tabbols
3 / 3 / 1
Регистрация: 05.12.2014
Сообщений: 74
Записей в блоге: 3
09.06.2015, 13:08  [ТС] 9
Байт, а как выделить число до периода, потому что до периода может ведь стоять например 0,2 или 0,02 или такого не может быть ?
0
XZentus
201 / 199 / 65
Регистрация: 06.10.2013
Сообщений: 552
09.06.2015, 16:23 10
Цитата Сообщение от tabbols Посмотреть сообщение
может ведь стоять например 0,2 или 0,02 или такого не может быть ?
До начала периода может стоять сколько угодно нулей, при анализе их надо записать куда-нибудь и при выдаче ответа пользователю подставить обратно.
1
Вениамин Шепард
24 / 10 / 5
Регистрация: 11.01.2014
Сообщений: 85
09.06.2015, 17:43 11
http://mathonline.um-razum.ru/drobi-...hnuju.html#top

Хороший сайт, здесь написан интерактивный алгоритм анализа
0
Байт
Эксперт C
18526 / 12031 / 2508
Регистрация: 24.12.2010
Сообщений: 24,302
10.06.2015, 10:36 12
Цитата Сообщение от XZentus Посмотреть сообщение
их надо записать куда-нибудь
можно просто посчитать
0
Вениамин Шепард
24 / 10 / 5
Регистрация: 11.01.2014
Сообщений: 85
10.06.2015, 14:22 13
1. Находите целую часть
2. Берёте остаток, умножаете на 10, запоминаем его, делим
3. Если такой остаток уже был, значит предыдущее число было концом периода, а то, которое мы запомнили, было началом, иначе возвращаемся к номеру 2

Пример: берём 13/99
Находим целую часть: 0,
Остаток 13, запоминаем, умножаем на 10, 130/99, получается 1, прибавляем к числу 0,1
Остаток 31, запоминаем, умножаем на 10, 310/99, получается 3, прибавляем к числу 0,13
Остаток 13, он уже был, а значит это период.
Ответ 0,(13)
1
10.06.2015, 14:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.06.2015, 14:22

Определить длину периода десятичной записи дроби 1/n
1)Из заданого числа вычли сумму его чисел. Из результата вычли ещё раз сумму...

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

Получение целой и дробной части для десятичной дроби
Привет всем. Ищу ответа на достаточно простую задачу: человек вводит число в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru