TGViewer
Репетитор IT men Репетитор IT men @mentor_it · 14.4K subscribers
Post #1630 18.2K
⚙️ О способе вычисления корней n-ой степени 🌱

Наткнулся на интересную задачку. Решил реализовать алгоритм вычисления корня n-ой степени из произвольного положительного числа. Уже приводил возможную реализацию для нахождения квадратного корня. Но в этом случае решение получается более обобщенным. Это первый рабочий алгоритм, написанный на коленке. Нужно еще поразмышлять о сложности и возможностях ускорения.

В данном решении я использую идею относительно неплохого начального приближения. Затем последовательным делением находится второе приближение корня n-ой степени. Далее считается новое приближение с помощью усреднение двух текущих. Последовательно алгоритм сходится к нужному корню с наперед заданной погрешностью. Это немного похоже на метод последовательной релаксации ( численные методы решения ).

📝 Код программы 📄
https://pastebin.com/ztnz7g2E
https://ideone.com/OUEzGA

#include <stdio.h>

double mabs(double x){ return (x < 0)? -x : x; }

int main(void) {
double num = 8;
int rootDegree = 3;

printf("Число а = %f\n", num);
printf("Степень n = %d\n", rootDegree);

double eps = 0.00001;
double root = num / rootDegree;
double rn = num;
int countiter = 0;
while(mabs(root - rn) >= eps){
rn = num;
for(int i = 1; i < rootDegree; i++){
rn = rn / root;
}
root = 0.5 * ( rn + root);
countiter++;
}
printf("root = %f\n", root);
printf("Число итераций = %i\n", countiter);

return 0;
}


#программирование #математика #информатика #численные_методы

👨🏻‍💻 Репетитор IT men // @mentor_it
  • ❤ 6
  • 👍 2
  • 🔥 1
  • 👨‍💻 1
More from @mentor_it
  1. Sep 20, 2026🔤🔤Метод разделения переменных — метод решения дифференциальных уравнений, основанный на…
  2. Sep 15, 2026👨🏻‍💻 Полгода назад я писал о том, что в первый раз попробовал сгенерировать horror-shor…
  3. Sep 14, 2026Задача. Найдите наибольшее целое значение A, при котором программа напечатает «NO» ровно 4…
  4. Sep 8, 2026🏗 Невидимый каркас реальности: почему математика — это совсем не скучно Вы когда-нибудь з…
  5. Sep 7, 2026🔤 Олимпиадное неравенство и интересное решение Привет, друзья! Сегодня продолжим тему оли…
  6. Sep 7, 2026👩‍💻 Всем программистам посвящается! Вот 14 авторских обучающих IT каналов по самым востр…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →