ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила
вернуться в форум

Обсуждение задачи 1001. Обратный корень

python3.3 Time limit exceeded 9th test
Послано Exxtay 19 фев 2013 14:34
How to optimize my code?
I know there is a lot of convertions from one type to another. How to avoid it? Or problem of speed not in convertions?

import sys, re, math
str1 = str(sys.stdin.readlines())
Data = re.findall('\\b\\d+\\b', str1)

for i in reversed (Data):
    print('%.4f' % math.sqrt(float(i)))

Edited by author 19.02.2013 23:58
Re: python3.3 Time limit exceeded 9th test
Послано Exxtay 22 фев 2013 05:24
solution, which worktime is 1.85

import sys, re
from math import sqrt as sq

def find_numbers(f):
    for line in f:
        for word in line.split():
            if word.isdigit():
                yield float(word)

lst = list(find_numbers(sys.stdin))
lst.reverse()
for x in lst:
    print('%.4f' % sq(x))