Найти алгебраическую сумму для выражения: 1k + 2k + 3k + … + Nk. N и степень k вводит пользователь.
Результат работы программы показан ниже:
// algebraic_sum.cpp: определяет точку входа для консольного приложения.
#include "stdafx.h"
#include <iostream>
#include <cmath>
using namespace std;
int main(int argc, char* argv[])
{
setlocale(LC_ALL, "rus");
cout << "Введите N: ";
unsigned n, // последний элемент суммы
k, // степень
sum = 0; // алгебраическая сумма
cin >> n;
cout << "Введите степень к: ";
cin >> k;
for (int counter = 1; counter <= n; counter++)
sum += pow(counter, (float)k); // накапливаем сумму, согласно формуле
cout << "Сумма: " << sum << endl;
system("pause");
return 0;
}
Вывод программы:
CppStudio.com
Введите N: 5
Введите степень к: 2
Сумма: 55
Комментарии
Сеня Васильев
RSL
Сергей Цысь
#include <iostream> #include <cmath> using namespace std; int computation (double sum1, double amount, double power); int main () { setlocale (LC_ALL,"rus"); double sum(0), //сумма amount, // количество power;// степень cout << "\t Найти алгебраическую сумму для выражения: 1k + 2k + 3k + … + Nk\n\n"; cout << "Введите количество членов ряда и степень "; cin >> amount >> power; cout << "\n\nСумма ряда равна " << computation ( sum, amount, power) << "\n"; return 0; } int computation (double sum1, double amount1, double power1) { cout <<"\nРяд (1k + 2k + 3k + … + Nk) = "; for (int i = 1; i <= amount1; i++) { cout << pow(i,power1) << " "; sum1 += pow(i,power1); } return sum1; cout << endl; }zer9_is0
Рекурсия
#include "iostream" #include "windows.h" #include "math.h" using namespace std; int Fun_12 (int iN, int iK){ return iN ? pow (iN, iK) + Fun_12(iN-1, iK):0; } int main(){ cout<<Fun_12(5,2); }Максим Назаренко
#include <iostream> #include <conio.h> using namespace std; int main() { setlocale(0, ""); int N, k, x = 0, counter; cout << "Введите N: "; cin >> N; cout << "Введите степень к: "; cin >> k; for (int i = 1; i <= N; i++) { x += pow(i, k); } cout << "Сумма: " << x << endl; _getch(); return 0; }