Как реализовать двоичную систему вычислений, чтобы ускорить выполнение следующего кода? Примечание. Я не могу использовать библиотеки, кроме встроенных. & Никогда не имел дело с двоичными файлами в Python.
# Bailey–Borwein–Plouffe formula
from decimal import Decimal, getcontext, MAX_PREC
getcontext().prec = MAX_PREC
def split_even(item, split_num):
return [item[i:i+split_num] for i in range(0, len(item), split_num)]
def updateScreen(d_percent, percent):
percent += d_percent
print(f'{percent}% Complete.')
return percent
def pi(a):
x = Decimal(0)
d_percent = round(100/(a*6), len(str(a)))
percent = 0 - d_percent
for k in range(0, a):
term = Decimal(4) / (8 * k + 1)
percent = updateScreen(d_percent, percent)
term -= Decimal(2) / (8 * k + 4)
percent = updateScreen(d_percent, percent)
term -= Decimal(1) / (8 * k + 5)
percent = updateScreen(d_percent, percent)
term -= Decimal(1) / (8 * k + 6)
percent = updateScreen(d_percent, percent)
x += term / (16 ** k)
percent = updateScreen(d_percent, percent)
print(f'Term {k} Complete.')
return x
pi = pi(int(input()))
pi_list = split_even(str(pi), 1000)
for i in pi_list:
print(i)
Подробнее здесь: https://stackoverflow.com/questions/792 ... sed-system
Как добавить двоичную систему [закрыто] ⇐ Python
Программы на Python
1734553711
Anonymous
Как реализовать двоичную систему вычислений, чтобы ускорить выполнение следующего кода? Примечание. Я не могу использовать библиотеки, кроме встроенных. & Никогда не имел дело с двоичными файлами в Python.
# Bailey–Borwein–Plouffe formula
from decimal import Decimal, getcontext, MAX_PREC
getcontext().prec = MAX_PREC
def split_even(item, split_num):
return [item[i:i+split_num] for i in range(0, len(item), split_num)]
def updateScreen(d_percent, percent):
percent += d_percent
print(f'{percent}% Complete.')
return percent
def pi(a):
x = Decimal(0)
d_percent = round(100/(a*6), len(str(a)))
percent = 0 - d_percent
for k in range(0, a):
term = Decimal(4) / (8 * k + 1)
percent = updateScreen(d_percent, percent)
term -= Decimal(2) / (8 * k + 4)
percent = updateScreen(d_percent, percent)
term -= Decimal(1) / (8 * k + 5)
percent = updateScreen(d_percent, percent)
term -= Decimal(1) / (8 * k + 6)
percent = updateScreen(d_percent, percent)
x += term / (16 ** k)
percent = updateScreen(d_percent, percent)
print(f'Term {k} Complete.')
return x
pi = pi(int(input()))
pi_list = split_even(str(pi), 1000)
for i in pi_list:
print(i)
Подробнее здесь: [url]https://stackoverflow.com/questions/79292391/how-to-add-binary-based-system[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия