требуется написать код решения для задачи в три цикла

задание на листке

Вот что я пытался сделать:

   #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 шт):

Автор решения: Zhihar

еще хорошо бы попытаться прочитать что-то по языку c

  1. в цикле первый блок - инициализация переменных (вызывается в начале цикла), второй блок - условия продолжения цикла (вызывается в начале каждого этапа цикла - если условие верно, то выполняется этап цикла иначе цикл прекращается), третий блок - изменение переменных в начале каждого этапа цикла

     for (int i = 1; i == m; i++){
    

    как вы думаете, сколько этапов цикла будет выполнено при m = 10?

  2. что именно у вас происходит с переменной res?

      for (int k = 1; k <= abs(m-n); k++){
          res = (m-n);        
      }
    

    поскольку с res в дальнейшем ничего не происходит, то вы на выходе всех ваших циклов получаете последний res и все

P.S.

давайте разберемся что в данной формуле вообще записано:

  1. вычислить m раз (m - n)! и сложить, т.е. вычислить m * (m - n)!
  2. вычислить n раз то, что было вычислено в 1), т.е. вычислить n * m * (m - n)!

ну так и пляшите от этого

т.е. если вам требуется именно 3 цикла, то у вас должно быть:

окончательный результат равен 0
цикл по `i`
    цикл по `j`
        вычисляем `(m-n)!`
        складываем с окончательным результатом

P.P.S.

и кстати abs(m - n) совершенно не при чём - факториал от отрицательного числа вроде как не существует

→ Ссылка