вівторок, 28 лютого 2017 р.

Cache function

Имеется реализованная функция f(x), принимающая на вход целое число x, которая вычисляет некоторое целочисленое значение и возвращает его в качестве результата работы.
Функция вычисляется достаточно долго, ничего не выводит на экран, не пишет в файлы и зависит только от переданного аргумента x.
Напишите программу, которая вычисляет значение этой функции для n чисел. 
Для ускорения вычисления необходимо сохранять уже вычисленные значения функции при известных аргументах.
Обратите внимание, что в этой задаче установлено достаточно сильное ограничение в две секунды по времени исполнения кода на тесте. 
Формат ввода:
На первой строке находится число n  количество значений, на которых нужно посчитать функцию. После этого следует nстрок, на каждой строке по одному целому числу.
Формат вывода:
n строк, в каждой из которой результат вычисления функции на соответствующем аргументе.
Sample Input:
5
5
12
9
20
12
Sample Output:
11
41
47
61
41
 Так точно!
1
# Считайте, что функция f(x) уже определена выше. Определять её отдельно не требуется.
2
a = int(input())
3
b = {}
4
for i in range(a):
5
    s=int(input())
6
    if s in b.keys():
7
        print(b[s])
8
    else:
9
        b[s]=f(s)
10
        print(b[s])

1 коментар:

  1. This way my pal Wesley Virgin's report launches in this shocking and controversial video.

    As a matter of fact, Wesley was in the army-and soon after leaving-he found hidden, "mind control" secrets that the CIA and others used to obtain everything they want.

    THESE are the exact same tactics lots of celebrities (especially those who "come out of nowhere") and top business people used to become wealthy and famous.

    You probably know how you use only 10% of your brain.

    That's mostly because most of your brainpower is UNTAPPED.

    Perhaps that expression has even occurred IN YOUR own mind... as it did in my good friend Wesley Virgin's mind seven years back, while driving an unlicensed, beat-up bucket of a car without a license and with $3 in his pocket.

    "I'm so frustrated with living check to check! Why can't I turn myself successful?"

    You took part in those conversations, am I right?

    Your success story is waiting to happen. All you have to do is in YOURSELF.

    Watch Wesley Virgin's Video Now!

    ВідповістиВидалити