Python
Найти произведение нетривиальных делителей
Среди чисел от 200 до 300 найти произведение нетривиальных делителей
Делителей чего? Каждого числа из диапазона [200; 300]?
25 минут ответа нет, предположим, что так:
Вывод:
25 минут ответа нет, предположим, что так:
from math import sqrt, prod
def divisors(n):
ds = [p for cand in range(2, int(sqrt(n)) + 1) if n % cand == 0 for p in (cand, n//cand)]
cnt = len(ds)
if cnt > 1 and ds[cnt - 1] == ds[cnt - 2]: ds.pop()
return ds
for i in range(200, 301):
print(i, ':', prod(divisors(i)))
Где 1, это значит, что нетривиальных делителей нет (простое число). Если выводится меньшее значение, чем само число, то это его квадратный корень. Если выводится само число, то у него два простых множителя. Если выводится большее число, то более двух простых множителей.Вывод:
200 : 320000000000
201 : 201
202 : 202
203 : 203
204 : 353305857024
205 : 205
206 : 206
207 : 42849
208 : 1871773696
209 : 209
210 : 18010885410000000
211 : 1
212 : 44944
213 : 213
214 : 214
215 : 215
216 : 21936950640377856
217 : 217
218 : 218
219 : 219
220 : 515363200000
221 : 221
222 : 10941048
223 : 1
224 : 563949338624
225 : 170859375
226 : 226
227 : 1
228 : 616132666368
229 : 1
230 : 12167000
231 : 12326391
232 : 12487168
233 : 1
234 : 701583371424
235 : 235
236 : 55696
237 : 237
238 : 13481272
239 : 1
240 : 2641807540224000000000
241 : 1
242 : 58564
243 : 59049
244 : 59536
245 : 60025
246 : 14886936
247 : 247
248 : 15252992
249 : 249
250 : 15625000
251 : 1
252 : 16263137215612256256
253 : 253
254 : 254
255 : 16581375
256 : 268435456
257 : 1
258 : 17173512
259 : 259
260 : 1188137600000
261 : 68121
262 : 262
263 : 1
264 : 89377352926101504
265 : 265
266 : 18821096
267 : 267
268 : 71824
269 : 1
270 : 104603532030000000
271 : 1
272 : 5473632256
273 : 20346417
274 : 274
275 : 75625
276 : 1601568101376
277 : 1
278 : 278
279 : 77841
280 : 134929285120000000
281 : 1
282 : 22425768
283 : 1
284 : 80656
285 : 23149125
286 : 23393656
287 : 287
288 : 47330370277129322496
289 : 17
290 : 24389000
291 : 291
292 : 85264
293 : 1
294 : 2196527536224
295 : 295
296 : 25934336
297 : 26198073
298 : 298
299 : 299
300 : 65610000000000000000
Произведение нетривиальных делителей для чисел на отрезке [200,300]
380892263763056972698595524350736933545970238573408427883655838887865527498969322620843829924502074302514052524979028027751108334657896696442372994639480443832950613971571859528835715269633083149369445271480789636247481797836800000000000000000000000000000000000
380892263763056972698595524350736933545970238573408427883655838887865527498969322620843829924502074302514052524979028027751108334657896696442372994639480443832950613971571859528835715269633083149369445271480789636247481797836800000000000000000000000000000000000
Похожие вопросы
- Как среди чисел, данных в блокноте, найти, те у которых определенное количество делителей(в Python)
- Питон. Как найти все делители числа?
- Какие самые нетривиальные сферы применения python?
- Помогите, пожалуйста с делителями python
- Олимпиада задача про делители и числа
- Как с помощью программы вычислить количество делителей числа?
- Задача на поиск целых частного и делителя для заданной периодической дроби. Простенькая задача для начинающих программи
- PyCharm. Выделено, найти и заменить.
- Написать программу, которая находит произведение элементов списка, находящихся на нечетных позициях.
- ПОМОГИТЕ НАЙТИ ОШИБКУ В КОДЕ (выводит наибольшее и наименьшее а среднее нет)