Инструменты пользователя

Инструменты сайта


11_2024

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
Следующая версия Следующая версия справа и слева
11_2024 [2024/05/15 15:51]
super_admin [Задачи 25]
11_2024 [2024/05/15 17:09]
super_admin
Строка 123: Строка 123:
     res = res + res[-1]     res = res + res[-1]
     return int(res)     return int(res)
-#​print(g(15))+
 for n in range(1000):​ for n in range(1000):​
     res =  g(n)     res =  g(n)
Строка 172: Строка 172:
   * https://​education.yandex.ru/​ege/​task/​9c37aa6f-004c-432b-a955-f2a55df1f675   * https://​education.yandex.ru/​ege/​task/​9c37aa6f-004c-432b-a955-f2a55df1f675
   * https://​education.yandex.ru/​ege/​task/​26295a68-9546-4dd9-87ca-c8f32bd7a755   * https://​education.yandex.ru/​ege/​task/​26295a68-9546-4dd9-87ca-c8f32bd7a755
- +  * https://​education.yandex.ru/​ege/​task/​2f0244ec-e26c-4ebe-a8dd-7b32e94d30e4 
 + 
 +**Так себе алгоритм** 
 +<code Python>​ 
 + 
 +def d(n): 
 +    mx = 0 
 +    k = 0 
 +    for i in range(2, int(n ** 0.5) + 1): 
 +        if n % i == 0: 
 +            if int(i ** 0.5) == i ** 0.5: 
 +                k += 1 
 +                mx = max(mx, ​ i)                
 +            if int((n // i) ** 0.5) == (n // i) ** 0.5: 
 +                k += 1 
 +                mx = max(mx, n // i) 
 +        if k > 3: 
 +            return 0 
 +    if k == 3: 
 +        return mx 
 +    return 0 
 + 
 +k = 0 
 +for n in range(10 ** 7, 10 ** 15): 
 +    res = d(n) 
 +    x += 1 
 +    if res: 
 +        print(n, res) 
 +        k += 1 
 +    if k == 5: 
 +        break 
 +     
 +</​code>​ 
 +**Этот лучше** 
 +<code Python>​ 
 +def d(n): 
 +    mx = 0 
 +    k = 0 
 +    for i in range(2, int(n ** 0.5) + 1): 
 +        if n % (i ** 2) == 0: 
 +            k += 1 
 +            mx = i ** 2 
 +        if k > 3: 
 +            return 0 
 +    if k == 3: 
 +        return mx 
 +    return 0 
 + 
 +k = 0 
 +for n in range(10 ** 7, 10 ** 20): 
 +    res = d(n) 
 +    if res: 
 +        print(n, res) 
 +        k += 1 
 +    if k == 5: 
 +        break 
 + 
 +</​code>​
11_2024.txt · Последние изменения: 2024/06/21 01:11 — super_admin