Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/50: Рейтинг темы: голосов - 50, средняя оценка - 4.90
2 / 2 / 0
Регистрация: 18.11.2018
Сообщений: 5
1

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

18.11.2018, 17:08. Показов 10431. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите решить задачу:

Найдите период разложения в бесконечную периодическую десятичную дробь числа, обратного к данному натуральному. Период должен начинаться с той цифры, которая является первой повторяющейся при выписывании бесконечной десятичной дроби. Например, у 1/11=0.09090909… считаем период 09, а не 90. У конечной десятичной дроби период — одна цифра 0.
На вход подается 1 число - знаменатель дроби
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.11.2018, 17:08
Ответы с готовыми решениями:

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

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

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

Бесконечную десятичную периодическую дробь, заданную в виде непериодической части и периода, перевести в Р-ичную систему
Бесконечную десятичную периодическую дробь, заданную в виде непериодической части и периода,...

9
2 / 2 / 0
Регистрация: 28.09.2020
Сообщений: 17
14.11.2020, 18:13 2
Здравствуйте, та же проблема. Поступил в Яндекс лицей и не могу решить эту задачу. Не проходит тест, в котором длина периода должна быть равна 256 символам. Не понимаю, как вообще можно обработать настолько длинную строку. Но моя программа работает для менее длинных периодов (первые девять тестов проходят успешно).
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
correct = 0
string_ = str(1 / int(input()))[2:-1]
string = list()
string.extend(string_)
while len(string):
    for length in range(1, int(len(string) / 2) + 1):
        line = string[:length]
        correct = 0
        i = 0
        while length + i < len(string):
            if line != string[i:length + i]:
                correct = 0
                break
            else:
                correct += 1
            i += length
        if correct >= 2:
            break
    if correct >= 2:
        break
    string = string[1:]
if correct >= 2:
    for val in line:
        print(val, end='')
else:
    print(0)
0
Эксперт Python
8213 / 4333 / 1837
Регистрация: 27.03.2020
Сообщений: 7,154
14.11.2020, 19:09 3
ARTEMIY0, примеры тестов есть ?

Добавлено через 43 минуты
егор11,
Python
1
2
3
4
5
6
7
8
9
10
11
n = int(input())
dec = 10
while not n % 2 :
    n //= 2
while not n % 5 :
    n //= 5
k = (0 if n == 1 else 1)
while dec % n != 1 and k :
        k += 1
        dec *= 10
print(k)
0
2 / 2 / 0
Регистрация: 28.09.2020
Сообщений: 17
16.11.2020, 09:19 4
Вот скрин последнего теста, который моя программа не прошла. Как видите, период здесь просто огромен.
Миниатюры
Найдите период разложения в бесконечную периодическую десятичную дробь числа, обратного к данному натуральному  
0
2 / 2 / 0
Регистрация: 28.09.2020
Сообщений: 17
16.11.2020, 09:24 5
А можете пояснить, что делает ваш код?
0
Эксперт Python
8213 / 4333 / 1837
Регистрация: 27.03.2020
Сообщений: 7,154
16.11.2020, 09:57 6
ARTEMIY0, вам нужен период(!) или значение(!) периода?
Мой код определяет количество(!) цифр в периоде

Добавлено через 5 минут
ARTEMIY0, алгоритм тогда такой:
- определение размера периода -> N
- создание списка цифр после "запятой" размером до N
- начиная с N + 1 (учитывая индексацию с 0, то с N), проверяем mylist[i - N] == mylist[i] со счетчиком
- если если счетчик дошел до N при выполнении условия, то фиксируем N цифр.
По идее можно сразу создать список из цифр "после запятой" длиной 3*N. И искать две одинаковых подпоследовательности размером N

Добавлено через 25 минут
ARTEMIY0, попробуй
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
n = int(input())
dec = 10
while not n % 2 :
    n //= 2
while not n % 5 :
    n //= 5
if n != 1 :
    res = '0' * (len(str(n)) - 1)
    while dec % n != 1 :
        dec *= 10
    res += str(dec//n)
else :
    res = 0
print(res)
0
Status 418
Эксперт Python
4577 / 2344 / 602
Регистрация: 26.11.2017
Сообщений: 5,265
Записей в блоге: 3
16.11.2020, 09:58 7
Цитата Сообщение от Gdez Посмотреть сообщение
Мой код определяет количество(!) цифр в периоде
ввел: 9876541
не дождался ответа
0
Эксперт Python
8213 / 4333 / 1837
Регистрация: 27.03.2020
Сообщений: 7,154
16.11.2020, 10:10 8
eaa, и не должно для такого числа

Добавлено через 3 минуты
Потому что это число скорее всего простое и для него нужен тот же порядок степени 10
Вот число
22309287
Больше. Но оно составное
0
Status 418
Эксперт Python
4577 / 2344 / 602
Регистрация: 26.11.2017
Сообщений: 5,265
Записей в блоге: 3
16.11.2020, 10:15 9
для 9876541
всего то 185136 цифр в периоде.
200 тыщ операций это ерунда.
0
Эксперт Python
8213 / 4333 / 1837
Регистрация: 27.03.2020
Сообщений: 7,154
16.11.2020, 10:24 10
eaa, eaa, получается, что не ерунда, если в коде операций то умножение на 10, остаток от деления и сравнение
0
16.11.2020, 10:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.11.2020, 10:24
Помогаю со студенческими работами здесь

Задача на Бесконечную Р-ичную периодическую дробь (1<Р<10)
Помогите с заданием! Бесконечную десятичную периодическую дробь, заданную в виде непериодической...

Задача на Бесконечную Р-ичную периодическую дробь
Задание: Бесконечную Р-ичную периодическую дробь (1&lt;Р&lt;10), заданную в виде непериодической части и...

Вывести на консоль бесконечную периодическую дробь с указанием периода
Дана дробь. Например a - числитель, b - знаменатель. Как можно реализовать метод, возвращающий...

Бесконечную десятичную переодическую дробь перевести в Р-ичную Систему счисления
Бесконечную десятичную переодическую дробь, Заданную в виде непереодической части и периода,...

По данному натуральному числу N найдите сумму чисел 1+1/1!+1/2!+1/3!+...+1/N!
Уважаемые программисты, помогите пожалуйста решить ряд задач: 1) По данному натуральному числу N...

По данному натуральному числу N найдите сумму чисел
По данному натуральному числу N найдите сумму чисел 1+1/1!+1/2!+1/3!+...+1/N!. Количество действий...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru