Вычислить факториал - C (СИ) (72693)
Формулировка задачи:
Факториал считает правильно, а вот со степенью какая-то беда.
Результат:
При компиляции говорит:
Если в powf (x, y) ) подставляю числа, например powf (4, 4) ) то все ок считает.
#include <stdio.h> #include <math.h> int main() { double chisl, f1, f2; int n,x,y, res; int i = 1; printf("ведите число n:"); scanf("%lf",&chisl); f1 = 1; int power(int t, int k) // возведение t в степень k { t=n; k=n; int res = 1; while (k) { if (k & 1) res *= t; t *= t; k >>= 1; } } printf("n^n = %.d\n", res); if (chisl >= 0) { for (f2 = 2; f2 <= chisl; f2++) { f1 *= f2; } printf("%.f! = %.f\n", chisl, f1); } else printf("„исло не может быть меньше нул¤!\n"); return 0; }
ведите число n:5 n^n = 134514059 5! = 120
Попробовал так:
#include <stdio.h> #include <math.h> int main() { double chisl, f1, f2; int n,res,x,y; int i = 1; printf("‚ведите число n:"); scanf("%lf",&chisl); f1 = 1; x=n; y=n; printf ("powf : %.20f\n", powf (x, y) ); if (chisl >= 0) { for (f2 = 2; f2 <= chisl; f2++) { f1 *= f2; } printf("%.f! = %.f\n", chisl, f1); } else printf("Число не может быть меньше нуля!\n"); return 0; }
undefined reference to `powf'
Решение задачи: «Вычислить факториал»
textual
Листинг программы
long pow_n(int n) { if(n>0) { long pow=n; long k=n; while(--k) pow*=n; return pow; } else return 0; }
Объяснение кода листинга программы
В данном коде представлена функция, которая вычисляет факториал числа. Список действий в коде:
- Проверка условия: Если число
n
больше нуля, то переходим к следующему шагу, иначе возвращаем 0. - Инициализация переменных: Переменная
pow
инициализируется значениемn
, а переменнаяk
инициализируется значениемn
. - Цикл: В цикле значение переменной
k
уменьшается на единицу, пока не станет равным нулю. - Вычисление факториала: В каждой итерации цикла значение переменной
pow
умножается наn
. - Возврат результата: После окончания цикла возвращается значение переменной
pow
. - Отрицательный вариант: Если число
n
меньше или равно нулю, то возвращается 0. В результате выполнения данного кода будет вычислен факториал числаn
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д