Size: a a a

Хирьянов Т.Ф., Практика программирования на Python 3 (2019)

2020 May 17

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Кирилл Картвелишвили
всё равно после 16 знака ничо не сохранится во флоате
ну так в условии не сказано вывести примерно дробную часть
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
сказано действительное число
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
не сказано что можно точность терять
источник

КК

Кирилл Картвелишвили... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
выведите его дробную часть, да
источник

fl

first last in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
mr.slavik
import math

SCALE_FACTOR_X = 1_000
SCALE_FACTOR_Y = 1_000

f = []  # массив со значениями функции
z = []  # массив со значениями Х
eps = int(SCALE_FACTOR_X * 1 // 1000)  # шаг при смене знака
l = int(-5 * SCALE_FACTOR_X)  # начало промежутка
r = int(5 * SCALE_FACTOR_X)  # конец промежутка
x = l
step = int(SCALE_FACTOR_X * 5 // 10)  # шаг


def f1(x):
   return int(SCALE_FACTOR_Y * ((x ** 3 - 8 * x * SCALE_FACTOR_X ** 2) / (SCALE_FACTOR_X ** 3) + 1 - (
               5 * math.sin(x / SCALE_FACTOR_X))))  # уравнение 1


def sign(o):  # функция проверки на смену знака
   if o < 0:
       return (-1)
   elif o > 0:
       return (1)
   else:
       return (0)


def find_the_root(l_b, r_b):  # функция, которая ищет корень в промежутке,  но не работает
   x = l_b
   f_prev = f1(x)
   while x <= r_b:
       if sign(f1(x)) != sign(f_prev):  # привожу к одинаковому кол-ву знаков после .
           print(f'{(x) / SCALE_FACTOR_X}')  # печатает корень типо
           return
       f_prev = f1(x)
       x += eps  # шагает дальше


while x <= r:  # заполнение массивов
   f.append(f1(x))
   z.append(x)
   x += step

for i in range(1, len(z)):
   if sign(f[i]) != sign(f[i - 1]):  # если происходит смена знака
       # print(z[i-1], z[i]); - отладочный вывод, промежутки смены знака находит правильно, в формате "2.5"
       find_the_root(z[i - 1], z[i])  # вызываю функцию для промежутка со сменой знака, которая почему-то не работает
Спасибо огромное
источник

😍

😍 in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
я с точностью полностью так и не разобрался до 14-15 после точки считается еще вроде как точной для сравнения дальше уже разброс
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
😍
кайфую от своего решения)
тут также не сказано посчитать примерно
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
сказано с точностью до копейки
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Переслано от mr.slavik
источник

😍

😍 in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
mr.slavik
сказано с точностью до копейки
ну так я и округляю копейки
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
потом вот такое пишут такие программисты
источник

😍

😍 in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
тесты прошла программа
источник

КК

Кирилл Картвелишвили... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
😍
я с точностью полностью так и не разобрался до 14-15 после точки считается еще вроде как точной для сравнения дальше уже разброс
смотря в каком диапозоне числа сравнивать
источник

😍

😍 in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Кирилл Картвелишвили
смотря в каком диапозоне числа сравнивать
рекомендовано использовать 6 чисел после точки это абсолютная точность как я понял?
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Переслано от mr.slavik
источник

😍

😍 in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
если 2 числа сравнить
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
😍
рекомендовано использовать 6 чисел после точки это абсолютная точность как я понял?
ничего ты не понял
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
я умываю руки
источник

😍

😍 in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
mr.slavik
ничего ты не понял
щас еще раз перечитаю
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
😍
кайфую от своего решения)
подай число 10000000000000000000.12
источник