ЯЗЫК ПИТОН!!!
Делители
Дано натуральное число n. Подсчитайте количество таких пар чисел (a;b), что:
a и b — делители n;
a
a и b — взаимно простые;
ab≤n.
Ввод
10
Вывод
4
Ответы
Ответ дал:
1
Ответ:
если нужно, то могу скинуть программу на почту файлом
Объяснение:
def gcd(a, b):
if b <= 0:
return a
if a > b:
a, b = b, a
return gcd(a, b - a) == 1
def dividers(n):
divs = []
for i in range(1, n + 1):
if n % i == 0:
divs.append(i)
return divs
def main(n):
used = []
number = 0
div = dividers(n)
for a in div:
for b in div:
if a != b:
if (a, b) not in used:
if gcd(a, b):
if a * b <= n:
number += 1
used += [(a, b), (b, a)]
return number
print(main(int(input())))
lfif8549:
Что вы подразумеваете под "скинуть программу"?
"Программа выдает ошибку в процессе выполнения"- так пишет
при каком вводе?
скорее всего проблема в форматировании, т.к. сайт выдает текст с отступами в каждой строчке
Хорошо, я чуть позже попробую сама переписать и еще раз проверить. При каком вводе не знаю...
если хочешь могу скинуть тебе ссылку на диск где программа лежи, что бы просто в редакторе открыть и тогда не нужно будет переписывать)
а есть алгоритм побыстрее
сомневаюсь
Вас заинтересует
2 года назад
2 года назад
2 года назад
9 лет назад
9 лет назад