@Dotamix

Python задача на олимпиады не проходит по времени?

a=list(input())
b=int(input())
if a.count(".")>0:
    del a[a.index(".")]
c=0.0
x=0
for i in range(len(a)):
    if i==0:
        c+=int(a[i])
    if i!=0:
        c+=(1/10**i)*int(a[i])
def check(a,b):
    while a!=0 and b!=0:
        if a > b:
            a%=b
        else:
            b%=a
    return a+b
    
i=1
while i <= b:
    g=1
    while g < i:
        if g/i<=c and check(g,i)==1:
            x+=1
        g+=1
    i+=1
print(x)

0 < a ≤ 1
2 ≤b ≤ 100000
Набрал 82 баллы на последних заданиях время выполнения 0.2-0.3 выходит за рамки подскажите.
  • Вопрос задан
  • 101 просмотр
Пригласить эксперта
Ответы на вопрос 1
@Dotamix Автор вопроса
Сразу скажу, что самый первый цикл не влияет на скорость ничего не меняется.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы