-2 / 6 / 5
Регистрация: 19.01.2022
Сообщений: 201

Дроби

19.02.2022, 11:09. Показов 3129. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Рома любит дроби. Недавно он заметил интересный факт про дробь 1995. Если удалить из числителя и знаменателя цифру 9, то значение дроби не изменится: 15=1995.

Рома стал искать дроби с таким же интересным свойством. А именно, он берет дробь xy, и какую-то цифру d, после чего удаляет из x и y все цифры d. Он считает, что дробь интересная, если после удаления цифр получилась другая дробь (то есть хотя бы одна цифра была удалена, и при этом в числителе и знаменателе осталось хотя бы по одной цифре, и знаменатель не равен нулю), и значение этой дроби такое же, как у изначальной. Помогите Роме написать программу, которая проверяет, что данная дробь интересная.

Входные данные:
Первая строка содержит число x, вторая строка содержит число y (1≤x<y≤1000).

Выходные данные:
Выведите «Yes», если дробь интересная, и «No», если нет.



Примеры:
входные данные
19
95
выходные данные
Yes


входные данные
23
78
выходные данные
No


входные данные
499
998
выходные данные
Yes


входные данные
10
20
выходные данные
Yes


входные данные
300
303
выходные данные
No

Добавлено через 14 секунд
в условии дробь 19/95

Добавлено через 17 минут
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
n = int(input())
m = int(input())
d = 9
 
n1 = str(n)
if str(d) in n1:
    n1 = n1.replace(str(d), '')
print(n1)
 
 
n2 = str(m)
if str(d) in n2:
    n2 = n2.replace(str(d), '')
print(n2)
 
if int(n2) / int(n1) == int(m) / int(n):
    print("Yes")
Думаю как-нибудь так сделать
d - это число которое проверяем


Осталось еще цикл сделать чтобы все от 0 до 9 проверяло(число d) и выводило да или нет

Добавлено через 15 минут
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
27
28
29
30
n = int(input())
m = int(input())
d = 0
pun = 0
for i in range(0, 9):
    wel = False
    wel1 = False
 
 
    n1 = str(n)
    if str(d) in n1:
        n1 = n1.replace(str(d), '')
        wel = True
 
 
    n2 = str(m)
    if str(d) in n2:
        n2 = n2.replace(str(d), '')
        wel1 = True
 
 
    d = d + 1
 
 
    if int(n2) / int(n1) == int(m) / int(n):
        if wel == True or wel1 == True:
            print("Yes")
            pun = pun + 1
if pun == 0:
    print("No")

Мне удалось такой код написать но вот если ввести
10
20
Выводит ошибку
подскажите что делать,
может вообще надо по-другому както писать
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.02.2022, 11:09
Ответы с готовыми решениями:

Даны две дроби A/B и C/D (А, В, С, D — натуральные числа). Составить функцию умножения дроби на дробь
Даны две дроби A/B и C/D (А, В, С, D — натуральные числа). Составить функцию умножения дроби на дробь. Ответ должен быть несократимой...

Перевод дроби к виду непрерывной дроби
Всем привет. Нужно написать программу перевода дроби к виду непрерывной дроби Ниже прикрепил как это должно выглядеть. (1 скрин) В...

Сокращение дроби
Дана дробь a/b. Требуется её сократить, то есть записать это же число в виде c/d, где c — целое число, d — натуральное число и d...

3
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
19.02.2022, 11:23
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
from fractions import Fraction
 
a = input()
b = input()
d = set(a) | set(b)
f = Fraction(int(a), int(b))
for c in d:
    x = int(a.replace(c, ''))
    y = int(b.replace(c, ''))
    if y != 0:
        f1 = Fraction(x, y)
        if f == f1:
            print('Yes')
            break
else:
    print('No')
0
-2 / 6 / 5
Регистрация: 19.01.2022
Сообщений: 201
19.02.2022, 11:39  [ТС]
Выдает ошибку
при
2
3

Добавлено через 3 минуты
При однозначных числах ошибка
Ну я доделал вот так:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
from fractions import Fraction
 
a = input()
b = input()
if len(a) == 1 and len(b) == 1:
    print("No")
else:
    d = set(a) | set(b)
    f = Fraction(int(a), int(b))
    for c in d:
        x = int(a.replace(c, ''))
        y = int(b.replace(c, ''))
        if y != 0:
            f1 = Fraction(x, y)
            if f == f1:
                print('Yes')
                break
    else:
        print('No')

(Однозначные числа интересными быть не могут)
осталось сделать чтобы рассматривало такие числа где одно однозначное а второе двухзначное
9
10

Например

5
15
0
Заблокирован
19.02.2022, 12:15
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
a,b=map(str,input('a b: ').split())
f0=True
for c in range(48,58):
    ch=str(chr(c))
    if a.find(ch)>=0 and b.find(ch)>=0:
        f0=False
        sa=a.replace(ch,'')
        sb=b.replace(ch,'')
        if sa!='' and sb!='':
            an=int(sa)
            bn=int(sb)
            f1=True
            if bn>0 and int(a)/int(b)==an/bn:
                f1=False
                print('YES')
                break
        else: f0=True
if f0 or f1: print('NO')
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.02.2022, 12:15
Помогаю со студенческими работами здесь

Сокращение дроби
Даны два натуральных числа n и m. Сократите дробь n/m, то есть выведите два других числа p и q таких, что n/m = q/p и дробь q/p – ...

Сокращение дроби
Сокращение дроби Дана дробь a/b. Требуется её сократить, то есть записать это же число в виде cd, где c — целое число, d — натуральное...

Упорядоченные дроби
Упорядоченные дроби Вывести в порядке возрастания все несократимые дроби, заключённые между 0 и 1, знаменатели которых не превышают N. ...

Несократимые дроби
Обыкновенная дробь называется несократимой, если её числитель и знаменатель взаимно просты. Даны две обыкновенные несократимые дроби и ....

Дроби - равенство (python)
Условие Даны две дроби a/b и c/d. Проверьте, что они равны. Для решения этой задачи создайте класс Fraction и реализуйте в нём метод...


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

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

Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru