1171
Комментарий:
|
← Версия 10 от 2021-10-23 13:42:08 ⇥
1170
|
Удаления помечены так. | Добавления помечены так. |
Строка 3: | Строка 3: |
Ввести произвольную последовательность (не обязательно кортеж) натуральных чисел, не превышающих 1000000. Вывести, сколько среди них различных чисел, являющихся суммой трёх квадратов натуральных чисел. | Ввести произвольную последовательность (не обязательно кортеж) натуральных чисел, не превышающих 200000. Вывести, сколько среди них различных чисел, являющихся суммой трёх квадратов натуральных чисел. |
Строка 6: | Строка 6: |
Дело в том, что в тестах она может быть, например, такой: `(1+i%10 for i in range(100000))`, в этом случае ответ — тоже 3 :) | Дело в том, что в тестах она может быть, например, такой: `(1+i%10 for i in range(200000))`, в этом случае ответ — тоже 3 :) |
Ввести произвольную последовательность (не обязательно кортеж) натуральных чисел, не превышающих 200000. Вывести, сколько среди них различных чисел, являющихся суммой трёх квадратов натуральных чисел.
Пояснение. Входная последовательность должна обрабатываться так: seq = set(eval(input()))
Дело в том, что в тестах она может быть, например, такой: (1+i%10 for i in range(200000)), в этом случае ответ — тоже 3
3, 4, 2, 9, 1, 5, 6, 7, 8, 3, 6
Это 3=1+1+1, 6=1+1+4 и 9=1+4+4
3
Подсказка 1: это задача на множества
Подсказка 2: как выяснилось,операция возведения x ** 2 работает раза в четыре дольше, чем x * x
Спойлер: