Форум » Обработка целых чисел » 3808 » Ответить

3808

juunitaki: (№ 3808) Рассматривается множество целых чисел, принадлежащих числовому отрезку [12356; 76435] , которые имеют более 15 делителей. Найдите количество таких чисел и максимальное из них. В ответе запишите сначала количество, а потом максимальное число. Не сходится количество чисел с ответом. [pre2] c = 0 I = 0 for i in range(12356, 76435+1): n = 0 # количество делителей числа i for d in range(1, i + 1): if i % d == 0: n = n + 1 if n > 15: c = c + 1 I = i print(c, I) # 18021 76432, а в ответе: 17989 76432[/pre2]

Ответов - 5

Поляков: Спасибо, исправлено.

Ivan: Здравствуйте, в задаче 4177 ошибка в ответе(58800 420) вот моя программа [pre2] def f(n): c=0 for i in range(10,101): if n%i==0: c+=1 return c c=0 m=0 for i in range(25552,58886): if (f(i)>=15): c+=1 if (i>m): m=i print(c,m)[/pre2] ( 58800 432) Если не прав я, то скажите в чем

Поляков: Ivan пишет: for i in range(10,101): Второе число странное.


bot: Ivan пишет: ты виноват лишь в том что хочется мне кушать

Ж: Эта программа считает намного быстрее [pre2] de=lambda n: set(chain(*[(a,n//a) for a in range(1,int(n**0.5)+1) if n%a==0])) l=[] for n in range(12356, 76436): if len(de(n))>15: l.append(n) print(len(l), max(l)) [/pre2]



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