Скодил на питоне с помощью chat gpt скрипт вычисления корня до N знака. ( в коде до 1 млн знака ) по числу. а также статистику по числовым парам в результате. статистика выводиться в сторону уменьшения.
Сам код.
import gmpy2 import datetime
# Функция для вычисления корня числа и списка встречающихся в нем пар цифр def sqrt(n): # Устанавливаем точность вычислений в 1000000 знаков gmpy2.get_context().precision = 1000000
# Преобразуем входное число в тип mpfr x = gmpy2.mpfr(n)
# Извлекаем корень x = gmpy2.sqrt(x)
# Составляем список пар цифр, встречающихся в числе digits = str(x).replace(".", "")[:1000000] # Ограничиваем список первыми 200 цифрами после запятой pairs = [digits[i:i+2] for i in range(0, len(digits), 2)]
# Возвращаем результаты return x, pairs
# Основной цикл программы count = {} while True: # Считываем ввод от пользователя input_str = input("Введите число для извлечения корня: ")
# Выходим из цикла, если пользователь ввел "exit" if input_str == "exit": break
try: # Преобразуем введенную строку в число и вычисляем корень и список пар цифр n = float(input_str) result, pairs = sqrt(n) print(result)
# Подсчитываем статистику для списка пар цифр for pair in pairs: if pair in count: count[pair] += 1 else: count[pair] = 1
# Записываем результат в файл filename = datetime.datetime.now().strftime("%Y-%m-%d-%H-%M-%S") + ".txt" with open(filename, "w") as file: file.write(str(result)) print("Результат записан в файл", filename)
# Выводим статистику print("Статистика:") for pair, freq in sorted(count.items(), key=lambda x: x[1], reverse=True): print(f"Пара {pair}: {freq} раз") except: # Если возникает ошибка, выводим сообщение об ошибке print("Некорректный ввод")
Статистика: Пара 81: 7759 раз Пара 99: 7740 раз Пара 00: 7734 раз Пара 71: 7721 раз Пара 73: 7719 раз Пара 30: 7712 раз Пара 36: 7697 раз Пара 85: 7668 раз Пара 14: 7658 раз Пара 24: 7657 раз Пара 63: 7645 раз Пара 16: 7645 раз Пара 06: 7628 раз Пара 96: 7627 раз Пара 29: 7624 раз
Статистика: Пара 32: 7741 раз Пара 52: 7738 раз Пара 26: 7701 раз Пара 73: 7699 раз Пара 59: 7689 раз Пара 08: 7680 раз Пара 03: 7664 раз Пара 77: 7647 раз Пара 68: 7644 раз Пара 47: 7639 раз Пара 94: 7635 раз Пара 02: 7635 раз Пара 57: 7626 раз Пара 79: 7611 раз
Корень из 2023 до 5 млн знака Статистика: Пара 74: 7723 раз Пара 20: 7723 раз Пара 08: 7713 раз Пара 34: 7674 раз Пара 38: 7667 раз Пара 78: 7666 раз Пара 09: 7657 раз Пара 69: 7655 раз Пара 62: 7654 раз Пара 36: 7640 раз Пара 06: 7638 раз Пара 81: 7633 раз
Например корень из 2 до 60 млн знака даёт такие 5 значные пары. частые Пара 01195: 28 раз Пара 93235: 28 раз Пара 78848: 28 раз Пара 03977: 28 раз Пара 28280: 28 раз Пара 58714: 28 раз Пара 40846: 28 раз Пара 59486: 28 раз Пара 45147: 28 раз Пара 16124: 28 раз Пара 99166: 28 раз Пара 45596: 28 раз Пара 72431: 28 раз Пара 07123: 28 раз Пара 11992: 28 раз Пара 59907: 28 раз Пара 65006: 28 раз Пара 70367: 28 раз
И редкие
Пара 80032: 17 раз Пара 70929: 17 раз Пара 80109: 17 раз Пара 97526: 16 раз Пара 97322: 16 раз Пара 59014: 16 раз Пара 57543: 16 раз Пара 53585: 16 раз Пара 45075: 16 раз Пара 64552: 16 раз Пара 16258: 16 раз Пара 92906: 16 раз Пара 34333: 16 раз Пара 56192: 15 раз Пара 21316: 15 раз Пара 70525: 15 раз Пара 97982: 10 раз
>>573727 Ну да, интересно почему не равномерно получается по количеству всех. Но они довольно длинные, наверное просто мало 60илн знаков чтобы усреднить.
>>573733 а Тебя не смущает что совпадений везде 16 раз или 28 раз? на до 60 млн знака?
Например корень из 2 до 100 млн знака даёт по 1 цифрам такую стату. Вычисляется 1 минуту.
Статистика: Пара 6: 3013636 раз Пара 4: 3012360 раз Пара 9: 3012230 раз Пара 3: 3011380 раз Пара 0: 3011286 раз Пара 1: 3009998 раз Пара 8: 3009526 раз Пара 2: 3008077 раз Пара 5: 3008051 раз Пара 7: 3006457 раз
надо глянуть на корень из 28 до 100 млн знаков. на совпадения по 5 числам.
по числу 28 до 100 млн знака топ Пара 75708: 50 раз Пара 91437: 50 раз Пара 38300: 50 раз Пара 30133: 50 раз Пара 05970: 50 раз Пара 82153: 50 раз Пара 89423: 50 раз Пара 26164: 50 раз Пара 84659: 50 раз Пара 72103: 50 раз Пара 45561: 50 раз Пара 50258: 50 раз
лоу
Пара 63819: 34 раз Пара 00596: 34 раз Пара 09206: 34 раз Пара 70469: 34 раз Пара 85108: 34 раз Пара 04347: 33 раз Пара 16103: 33 раз Пара 70619: 33 раз Пара 86561: 33 раз Пара 58761: 33 раз Пара 80996: 32 раз Пара 86411: 32 раз Пара 01422: 32 раз Пара 02212: 32 раз Пара 19195: 32 раз Пара 88782: 32 раз Пара 14868: 30 раз Пара 90651: 30 раз Пара 05808: 28 раз
>>573739 >а Тебя не смущает что совпадений везде 16 раз или 28 раз? Ты типа хотел увидеть нормальное распределение?
Хз с чего такое желание, ты делаешь сортировку по максимуму или минимуму, если у всех комбинаций примерно одинаковая вероятность выпадения, то будет какая-то средняя величина максимума, допустим 20 совпадений, и спадать будет так:20, 20, 20, 19, 19, 18... Это полностью логично, вероятность-то выпадения одинаковая, значит и количество максимального числа совпадений будет примерно одинаковая, мало отличающаяся, т.е. много по 20 раз, потом следующая всего на 1 отличающаяся, много раз по 19, потом по 18...
>>573744 Я хочу увидеть причину и истоки числа если оно умножено равномерно само на себя. причину корней вообще.
к примеру через 150 циклов извлечения корня до 5 млн знака из редкого числа статистики с общей статистикой сложения был выявлен локальный минимум. максимум
Пара 92916: 121 раз Пара 40888: 120 раз Пара 41221: 120 раз Пара 23141: 120 раз Пара 75534: 119 раз Пара 33620: 119 раз Пара 43646: 119 раз Пара 92039: 119 раз Пара 79798: 119 раз Пара 44243: 118 раз Пара 87002: 118 раз Пара 32959: 118 раз Пара 05136: 117 раз Пара 37434: 117 раз Пара 70878: 117 раз Пара 49224: 117 раз Пара 14078: 116 раз Пара 95240: 115 раз Пара 40442: 115 раз Пара 69497: 114 раз Пара 86459: 112 раз Пара 33083: 111 раз Пара 31587: 110 раз Пара 35309: 109 раз Пара 74031: 109 раз Пара 60078: 108 раз Пара 59090: 108 раз
А максимумы такие.
Пара 23757: 176 раз Пара 74473: 176 раз Пара 25056: 176 раз Пара 56129: 176 раз Пара 89617: 176 раз Пара 16651: 176 раз Пара 60105: 176 раз Пара 18863: 176 раз Пара 66820: 176 раз Пара 46533: 176 раз Пара 53340: 176 раз Пара 33583: 176 раз Пара 88775: 176 раз Пара 58737: 176 раз Пара 06966: 176 раз Пара 77107: 176 раз
следоваельно нужно создавать новый скрипт который будет излекать корень из числа последней статистики который начинается не на ноль
области примения, вообще всё, физика, химия, биология, так как я считаю что вселенная резульат вычисления корня.
Квантовый Скрипт - Скрипт умножает число на само себя 1 миллион раз, но на каждом этапе умножения округляет и обрезает до 10 значного числа те получаем матрицу умножения числа на само себя до 10 знака. В итоге получаем супер компьютерную мощь.
<!DOCTYPE html> <html> <head> <title>Умножение числа</title> </head> <body> <h1>Умножение числа на само себя N раз с округлением до 10 знака</h1> <form> <label for="number">Введите число:</label> <input type="number" id="number" name="number" value="1234567890"><br><br> <label for="iterations">Введите количество итераций:</label> <input type="number" id="iterations" name="iterations" value="400"><br><br> <input type="button" value="Выполнить" onclick="multiplyNumber()"> </form> <br> <p id="result"></p> <script> function multiplyNumber() { let num = document.getElementById("number").value; let iterations = document.getElementById("iterations").value; for (let i = 0; i < iterations; i++) { num = num num; num = num % (10 * 10); if (num.toString().length > 10) { num = parseInt(num.toString().slice(-10)); // Оставляем только последние 10 цифр } } document.getElementById("result").textContent = num; } </script> </body> </html>
Сам код.
import gmpy2
import datetime
# Функция для вычисления корня числа и списка встречающихся в нем пар цифр
def sqrt(n):
# Устанавливаем точность вычислений в 1000000 знаков
gmpy2.get_context().precision = 1000000
# Преобразуем входное число в тип mpfr
x = gmpy2.mpfr(n)
# Извлекаем корень
x = gmpy2.sqrt(x)
# Составляем список пар цифр, встречающихся в числе
digits = str(x).replace(".", "")[:1000000] # Ограничиваем список первыми 200 цифрами после запятой
pairs = [digits[i:i+2] for i in range(0, len(digits), 2)]
# Возвращаем результаты
return x, pairs
# Основной цикл программы
count = {}
while True:
# Считываем ввод от пользователя
input_str = input("Введите число для извлечения корня: ")
# Выходим из цикла, если пользователь ввел "exit"
if input_str == "exit":
break
try:
# Преобразуем введенную строку в число и вычисляем корень и список пар цифр
n = float(input_str)
result, pairs = sqrt(n)
print(result)
# Подсчитываем статистику для списка пар цифр
for pair in pairs:
if pair in count:
count[pair] += 1
else:
count[pair] = 1
# Записываем результат в файл
filename = datetime.datetime.now().strftime("%Y-%m-%d-%H-%M-%S") + ".txt"
with open(filename, "w") as file:
file.write(str(result))
print("Результат записан в файл", filename)
# Выводим статистику
print("Статистика:")
for pair, freq in sorted(count.items(), key=lambda x: x[1], reverse=True):
print(f"Пара {pair}: {freq} раз")
except:
# Если возникает ошибка, выводим сообщение об ошибке
print("Некорректный ввод")