М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
gsergey1
gsergey1
23.09.2020 22:09 •  Информатика

C# ПРОГРАММА В общем мне нужно сделать программу которая считывает сумму результата факториалов(каждого, ниже приклеплю формулу и поймете), то есть например задаю цифру 5, мне нужно (3!/(3-1)!) + 5, (4!/(4-1)!) + 5, (5!/(5-1)!) + 5 и т.д. Я вроде бы сделал, но при считывании суммы выходят какие-то неправильные цифры, можете с кодом?

using System;

namespace S4
{
class Program
{
static void Main(string[] args)
{
int n = 5; // количество циклов в факториале
int sum = 0;
int sum1 = 0;
int factorial = 1;
int factorial1 = 1;
int a = n-1;
int rezult= 0;

for (int i = 0; i <= n; i++) // цикл начинаем с 0, т.к. 0! равно 1 и мы будем это суммировать
{
if (i == 0) sum++;

else
{
factorial = factorial * i;
sum = sum + factorial;

}

}
for (int i = 0; i <= a; i++)
{
if (i == 0) sum++;

else
{
factorial1 = factorial1 * i;
sum1 = sum1 + factorial1;

}
rezult = (factorial/factorial1);
Console.WriteLine(rezult);
}

Console.WriteLine("Summa factoriala pri N = " + n + " = " + sum);
Console.WriteLine("Summa factoriala pri N = " + a + " = " + sum1);
Console.Read();
}
}
}

https://i.stack.imgur.com/q0av9.png

Вот тут объяснения как должно мне всё выдавать

👇
Открыть все ответы
Ответ:
mun7890
mun7890
23.09.2020

#include <iostream>

#include <iomanip>

using namespace std;

int** matrCreate(int n)

{

   int** M;

   M = new int *[n];

   for (int i = 0; i < n; i++)

       M[i] = new int [n];

   return M;

}

void matrInit(int** M, int n)

{

   srand(time(0));

   for(int i = 0; i < n; i++)

    for(int j = 0;  j < n;  j++)

     M[i][j] = rand()%199 - 99 ;

}

void matrPrint(int** M, int n)

{

   for(int i = 0; i < n; i++)

{

    for(int j = 0;  j < n;  j++)

     cout << setw(5) << M[i][j];

   cout << endl;

}

}

void matrTransform(int** M, int n)

{

   int im, jm, max = -1000, s = 0;

   for(int i = 0; i < n; i++)

{

    for(int j = 0;  j < n;  j++)

    {

        if (M[i][j] > max)

        {

            max = M[i][j];

            im = i;

            jm = j;

        }

        if (i == j)

            s += M[i][j];

    }

}    

M[im][jm] = s;    

}

void clearMem(int** M, int n)

{

   for (int i = 0; i < n; i++)

{

 delete [] M[i];

}

delete [] M;

}

int main()

{

   int n;

   cin >> n;

   int **A;

   A = matrCreate(n);

   matrInit(A, n);

   matrPrint(A, n);

   cout << endl;

   matrTransform(A, n);

   matrPrint(A, n);

   clearMem;

   return 0;

}


Найти сумму элементов главной диагонали квадратной матрицы и заменить ею максимальный элемент. Оформ
4,5(3 оценок)
Ответ:
vinchez1
vinchez1
23.09.2020
Когда мы копируем рисунок в буфер, то он определенного размера.
Создадим второго слона. Для этого надо выполнить все 4 команды:
1,2,3,4.
Второй слон стал на 80% меньше первого.
Создадим третьего слона.
Если мы сейчас снова вставим слона из буфера (команда 3), то вставится первый слон, и команду 4 придется делать 2 раза, чтобы он стал на 80% меньше, чем второй слон.
Поэтому для третьего слона нужно выделить второго и опять проделать все 4 команды: 1,2,3,4.
Чтобы получить еще 6 слонов, нужно эти команды повторить 6 раз.
ответ: В) повторить (1,2,3,4; 6)
4,7(88 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ