Правильно ли прописано условие
Есть математическая задача, которую я должен написать на плюсах, вроде что - то получилось, но у меня есть сомнения потому что результат не очень реалистичный, гляньте пожалуйста и скажите есть ли где в логике программы ошибки.
Вот код:
#include <iostream>
using namespace std;
int epsilon_first(int k)
{
int sn;
int sum = 0;
for (int k = 1; k <= 10; k++)
{
sn = k * k * k;
sum += sn;
}
return sum;
}
int epsilon_twice(int k, int l)
{
int sn;
int sum = 0;
for (int l = 1; l <= 15; l++)
{
for (int k = 1; k <= 10; k++)
sn = k * k - 2 * k * l - k * k;
sum += sn;
}
return sum;
}
int main()
{
int k = 1;
int l = 1;
int sum;
sum = epsilon_first(k) * epsilon_twice(k, l);
cout << sum;
return 0;
}
Результат выполнения программы: -7260000
Ответы (2 шт):
Автор решения: MBo
→ Ссылка
Нет, неверно. Достаточно пары циклов:
int summ, result = 0;
for (int k = 1; k <= 10; k++)
{
sum = 0;
for (int l = 1; l <= 15; l++)
sum += k * k - 2 * k * l + l * l;
result += k * k * k * sum;
}
Автор решения: Mikhailo
→ Ссылка
Вот так лучше:
#include <iostream>
using namespace std;
int S2(int k) {
int s = 0;
for (int l = 1; l <= 15; ++l) s += (k - l) * (k - l);
return s;
}
int S1() {
int s = 0;
for (int k = 1; k <= 10; ++k) s += k * k * k * S2(k);
return s;
}
int main() {
cout << S1();
}
Вывод совпадает с указанным @Harry.
