Автор | Сообщение |
|
Отправлено: 16.01.22 18:51. Заголовок: 25 задание, №3779
Здравствуйте! Я написала программу, но она очень долго работает. Я бы хотела узнать, можно ли как-то ее изменить, чтобы она считала быстрее? def div(n): d = set() for i in range(1, int(n ** 0.5) + 1): if n % i == 0: if i % 2 == 1: d.add(i) if (n // i) % 2 == 1: d.add(n // i) return d for j in range(78_000_000, 85_000_001): s = div(j) if len(s) == 5: print(s) print(j, max(s))
|
|
|
Ответов - 4
[только новые]
|
|
|
| Администратор
|
Сообщение: 3188
|
|
Отправлено: 16.01.22 19:00. Заголовок: Это задача 25.151 из..
Это задача 25.151 из основного сборника. Все решения 25-х задач на есть сайте.
|
|
|
|
Отправлено: 16.01.22 20:31. Заголовок: поняла, спасибо!!..
поняла, спасибо!!
|
|
|
|
Отправлено: 11.05.22 15:59. Заголовок: Программа нашла дополнительные числа
Здравствуйте, написала вот такую программу, но находит дополнительные значения, например 78083732 19520933 (делители [1, 47, 2209, 415339, 19520933] ). Вроде бы это число тоже подходит, но в ответе его нет. def d(a): q=[] for j in range(1,round(a**0.5)): if a%j==0: if j%2!=0: q.append(j) if (a//j)%2!=0: q.append(a//j) q.sort() if len(q)>=1: return q[len(q)-1],len(q) else: return 0,0 for i in range(78000000,85000000+1): if d(i)[1]==5: print(i,d(i)[0])
|
|
|
|
| Администратор
|
Сообщение: 3547
|
|
Отправлено: 17.05.22 13:42. Заголовок: KЕльцова пишет: нап..
Ельцова пишет: цитата: | например 78083732 19520933 (делители [1, 47, 2209, 415339, 19520933] ). |
|
У этого числа нечетные делители [1,47,2209,8837,415339,19520933].
|
|
|
|