требуется написать код решения для задачи в три цикла
Вот что я пытался сделать:
#include <stdio.h>
#include <math.h>
int main ()
{
int res, m, n, sum;
printf ("Enter numbers: \n");
scanf ("%d", &m);
scanf ("%d", &n);
for (int i = 1; i == m; i++){
for (int j = 1; j == n; j++){
for (int k = 1; k <= abs(m-n); k++){
res = (m-n);
}
}
}
printf("\t result=%d \n",sum);
}
Ответы (1 шт):
еще хорошо бы попытаться прочитать что-то по языку c
в цикле первый блок - инициализация переменных (вызывается в начале цикла), второй блок - условия продолжения цикла (вызывается в начале каждого этапа цикла - если условие верно, то выполняется этап цикла иначе цикл прекращается), третий блок - изменение переменных в начале каждого этапа цикла
for (int i = 1; i == m; i++){как вы думаете, сколько этапов цикла будет выполнено при
m = 10?что именно у вас происходит с переменной
res?for (int k = 1; k <= abs(m-n); k++){ res = (m-n); }поскольку с
resв дальнейшем ничего не происходит, то вы на выходе всех ваших циклов получаете последнийresи все
P.S.
давайте разберемся что в данной формуле вообще записано:
- вычислить
mраз(m - n)!и сложить, т.е. вычислитьm * (m - n)! - вычислить
nраз то, что было вычислено в 1), т.е. вычислитьn * m * (m - n)!
ну так и пляшите от этого
т.е. если вам требуется именно 3 цикла, то у вас должно быть:
окончательный результат равен 0
цикл по `i`
цикл по `j`
вычисляем `(m-n)!`
складываем с окончательным результатом
P.P.S.
и кстати abs(m - n) совершенно не при чём - факториал от отрицательного числа вроде как не существует
