Другие языки программирования и технологии

Дан фрагмент программы на двух языках программирования

Доброго времени суток.

Насколько я понял, спрашивается правильный вариант функции. Это будет третий

n*(n+1)*m*(m+1)/4

Почему? Рассмотрим только одно число и, соответственно, два цикла.

for i := 1 to n do
for x := i to n do
sum := sum + 1;

n = 1 sum = 1
n = 2 sum = 3
n = 3 sum = 6
n = 4 sum = 10

Т. о. , значение sum будет равно n*(n+1)/2. Соответственно, для двух таких конструкций будет

n*(n+1)*m*(m+1)/4

Удачи!
ПП
Простой Парень Ерома
59 613
Лучший ответ
#include <iostream>
using namespace std;

// Вводимое число должно быть > 0 && целочисленным
//ф-ция считает суму от первого вводимого числа до второго
int sum(int n, int m) {
int sum = 0;
for (int i = 0; i < n; i++)
for (int j = 0; j < m; j++)
for (int x = i; x < n; x++)
for (int y = j; y < m; y++)
sum++;
return sum;
}

// Вводимое число должно быть > 0 && целочисленным
// Можно сделать так: вводим конечного число (N)
// и узнаем сумму всех чисел от 1 до N
int sum1(int m) {
int sum = 0;
while(m >= 0)
sum += m--;
return sum;
}

int main() {
int n, m;
cout << "Enter two numbers: " << endl;
cout << "First: ";
cin >> n;
cout << "Second: ";
cin >> m;
cout << "\nResult function sum(): " << sum(n, m) << endl;
cout << "\nResult function sum1() : " << sum1(m) << endl;
system("pause");
}
я нинаю...
Витечек -_
Витечек -_
836

Похожие вопросы