Форум » Обработка целых чисел » 25 задача номер 200 » Ответить

25 задача номер 200

AnnaPershina: 200) Пусть D(N) – пятый по величине (считая с наибольшего) нетривиальный нечётный делитель натурального числа N (нетривиальными считаются все делители, кроме 1 и самого числа). Например, D(315) = 21. Если у числа N меньше пяти различных нетривиальных нечётных делителей, то принимаем D(N) = 0. Найдите 5 наибольших натуральных чисел, меньших 300 000 000, для которых D(N) > 0. В ответе запишите для каждого найденного N сначала значение D(N), а затем общее количество нетривиальных нечётных делителей (в порядке возрастания соответствующих чисел N). Здравствуйте, подскажите, пожалуйста, что не так с решением. Ответ не сходится. [pre2] def f(x): b=set() for i in range(2,int(x**0.5)+1): if x%i==0: if i%2!=0: b.add(i) if x//i%2!=0: b.add(x//i) return sorted(b) k=0 for x in range(300_000_001,400_005_500): b = f(x) if len(b)>=5: print(b[-5],len(b)) k+=1 if k==5: break [/pre2] Мой ответ: 17 6 151 6 2631579 23 77 7 643 6 Ответ в файле answers: "1297 6 12283 11 6521739 15 5809 7 9090909 62"

Ответов - 1

AnnaPershina: Не увидела условие: "Найдите 5 наибольших натуральных чисел..." Решено.



полная версия страницы