Ошибка в коде вычисления факториала - C (СИ)
Формулировка задачи:
Кто подскажет где в данной программе ошибка?
Заранее благодарю!
#include <stdio.h> #include <math.h> #include <conio.h> main() { long int f=1,x,n,j,i; float s,zn; printf("\nx: "); scanf("%ld",&x); for(j=1;j<=pow(x,2);j++) { f=f*j; } zn=f; for(i=256;i>=2;i/=2) { zn=pow(x,2)+i/zn; printf("\t%f",zn); } s=x/zn; printf("\nsum=%f",s) getch(); }
Решение задачи: «Ошибка в коде вычисления факториала»
textual
Листинг программы
#include <stdio.h> #include <math.h> #include <conio.h> main() { long int f=1,x,n,j,i; float s,zn; clrscr(); printf("\nx: "); scanf("%ld",&x); for(j=1;j<=pow(x,2);j++) { f=f*j; } zn=f; for(i=256;i>=2;i/=2) { zn=pow(x,2)+i/zn; printf("\n%f",zn); } s=x/zn; printf("\n\nsum=%f",s); getch(); }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы
- Объявляем переменные:
- f (долгое целое число) инициализируется единицей;
- x (долгое целое число), в которое считывается значение от пользователя;
- n (долгое целое число), не используется;
- j (целое число), используется для внутреннего цикла;
- i (целое число), используется для внешнего цикла;
- s (число с плавающей точкой), используется для хранения результата;
- zn (число с плавающей точкой), используется для хранения факториала числа x.
- Очищаем экран и выводим запрос на ввод значения x.
- Запускаем два цикла:
- Внутренний цикл. Для каждого значения j от 1 до x^2 умножаем f на j.
- Внешний цикл. Начинается с i=256, дробь заменяется на x^2, затем i делится на zn и к результату прибавляется i/zn.
- Выводим значение zn.
- Вычисляем s, разделив x на zn.
- Выводим значение s.
- Ждем нажатия клавиши.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д