Size: a a a

IT KPI C/C++ ХВ (не UB)

2020 November 21

KS

Kyryl Sydorov in IT KPI C/C++ ХВ (не UB)
Привіт.
Коротше, скажіть мені, будь ласка, на яких числах код зациклиться?
double agm(const double a, const double b)
{
 if (a > b) return agm(b, a);

 double aLast = 0;
 double bLast = 0;
 double aNew = a;
 double bNew = b;
 while (aLast != aNew)
 {
   aLast = aNew;
   bLast = bNew;
   aNew = std::sqrt(aLast * bLast);
   bNew = (aLast + bLast) / 2;
 }
 return aLast;
}
источник

KS

Kyryl Sydorov in IT KPI C/C++ ХВ (не UB)
я кажу викладачу, що не зациклиться й прогнав дуже багато тестів з відмінністю як на сотні порядків, так і на в районі 1e-16
источник

KS

Kyryl Sydorov in IT KPI C/C++ ХВ (не UB)
Коротше, переробив на порівняння через епсілон. Він сказав, що ок, але не поставить норм оцінку за лабу, якщо не знайду приклад, на яких воно зациклиться
источник

KS

Kyryl Sydorov in IT KPI C/C++ ХВ (не UB)
така фігня, коротше
источник

KS

Kyryl Sydorov in IT KPI C/C++ ХВ (не UB)
(там були ассерти, я їх прибрав, щоб код не був складним)
источник

VD

Vlad Doc in IT KPI C/C++ ХВ (не UB)
Kyryl Sydorov
Коротше, переробив на порівняння через епсілон. Він сказав, що ок, але не поставить норм оцінку за лабу, якщо не знайду приклад, на яких воно зациклиться
Что мешает пульнуть тесты?
источник

VD

Vlad Doc in IT KPI C/C++ ХВ (не UB)
Пройтись от инт_мин до инт_макс так сказать
источник

KS

Kyryl Sydorov in IT KPI C/C++ ХВ (не UB)
робив
источник

KS

Kyryl Sydorov in IT KPI C/C++ ХВ (не UB)
не знайшов зациклювання
источник

KS

Kyryl Sydorov in IT KPI C/C++ ХВ (не UB)
і тут якби 2 змінні. І вони дабл)
источник

KS

Kyryl Sydorov in IT KPI C/C++ ХВ (не UB)
і тупо перебором не вийде зробити)
источник

AB

Aleksey Belkevich in IT KPI C/C++ ХВ (не UB)
Kyryl Sydorov
Коротше, переробив на порівняння через епсілон. Він сказав, що ок, але не поставить норм оцінку за лабу, якщо не знайду приклад, на яких воно зациклиться
А где у тебя тут сравнение по эпсилон?
источник

KS

Kyryl Sydorov in IT KPI C/C++ ХВ (не UB)
Aleksey Belkevich
А где у тебя тут сравнение по эпсилон?
тут нема
источник

KS

Kyryl Sydorov in IT KPI C/C++ ХВ (не UB)
це старий код
источник

KS

Kyryl Sydorov in IT KPI C/C++ ХВ (не UB)
він сказав, знайдіть у старому коді де у вас зациклиться
источник

KS

Kyryl Sydorov in IT KPI C/C++ ХВ (не UB)
я не можу знайти
источник

AB

Aleksey Belkevich in IT KPI C/C++ ХВ (не UB)
С виду это какой-то рекурентный поиск, у тебя есть оригинальная запись из методички?
источник

AB

Aleksey Belkevich in IT KPI C/C++ ХВ (не UB)
В голове собирать это трудновато
источник

KS

Kyryl Sydorov in IT KPI C/C++ ХВ (не UB)
Aleksey Belkevich
С виду это какой-то рекурентный поиск, у тебя есть оригинальная запись из методички?
це арифметико-геометричне середнє
источник

KS

Kyryl Sydorov in IT KPI C/C++ ХВ (не UB)
зараз кину
источник