Вычисление суммы квадратов на C++

C++Beginner
Практиковаться сейчас

Введение

В этом практическом занятии мы научимся писать программу на C++, которая находит сумму ряда 1^2 + 3^2 + 5^2 +... + n^2 двумя разными методами. Мы проведем вас по шагам, чтобы помочь вам понять процесс.

Создайте новый файл на C++

Во - первых, нам нужно создать новый файл на C++. Откройте терминал и перейдите в директорию ~/project. Здесь мы создадим новый файл с именем main.cpp.

cd ~/project
touch main.cpp

Напишите код с использованием первого метода

Здесь мы напишем программу с использованием первого метода. В этом методе мы будем использовать цикл for для перебора нечетных чисел до n и добавлять их квадраты в переменную sum.

#include<iostream>
using namespace std;

int pattern_sum(int n){
    int sum=0;
    for(int i=1;i<=n;i+=2){
      sum+=(i*i);
    }
    return sum;
}

int main(){
    int num;
    cout<<"Enter the number of terms you want: ";
    cin>>num;
    cout<<"The sum of the series is: "<<pattern_sum(num)<<endl;
    return 0;
}

Пояснение к коду:

  • Во - первых, мы включаем необходимые заголовочные файлы.
  • Затем мы пишем функцию под названием pattern_sum, которая принимает целое число n в качестве входных данных и возвращает сумму ряда.
  • Внутри функции мы инициализируем переменную sum значением 0.
  • Мы используем цикл for, начиная от 1 до n с шагом 2, чтобы получить нечетные числа, и добавляем их квадраты в переменную sum.
  • Наконец, мы возвращаем сумму.
  • В функции main() мы просим пользователя ввести количество членов, которое они хотят, и сохраняем значение в переменной num.
  • Мы выводим сумму ряда, вызвав функцию pattern_sum() с вводом пользователя.

Напишите код с использованием второго метода

Здесь мы напишем программу с использованием второго метода. В этом методе мы используем математическую формулу для нахождения суммы ряда.

#include<iostream>
using namespace std;

int pattern_sum(int n){
    int sum;
    sum = ( ((2 * n) - 1) * (((2 * n) - 1)+ 1) * ( ( 2 * ((2 * n) - 1) ) + 1 ) ) / 6;
    return sum;
}

int main(){
    int num;
    cout<<"Enter the number of terms you want: ";
    cin>>num;
    cout<<"The sum of the series is: "<<pattern_sum(num)<<endl;
    return 0;
}

Пояснение к коду:

  • Во - первых, мы включаем необходимые заголовочные файлы.
  • Затем мы пишем функцию под названием pattern_sum, которая принимает целое число n в качестве входных данных и возвращает сумму ряда.
  • Внутри функции мы используем математическую формулу для нахождения суммы ряда и сохраняем ее в переменной sum.
  • Наконец, мы возвращаем сумму.
  • В функции main() мы просим пользователя ввести количество членов, которое они хотят, и сохраняем значение в переменной num.
  • Мы выводим сумму ряда, вызвав функцию pattern_sum() с вводом пользователя.

Полный код для main.cpp

Вот полный код для main.cpp, использующий второй метод для нахождения суммы ряда:

#include<iostream>
using namespace std;

int pattern_sum(int n){
    int sum;
    sum = ( ((2 * n) - 1) * (((2 * n) - 1)+ 1) * ( ( 2 * ((2 * n) - 1) ) + 1 ) ) / 6;
    return sum;
}

int main(){
    int num;
    cout<<"Enter the number of terms you want: ";
    cin>>num;
    cout<<"The sum of the series is: "<<pattern_sum(num)<<endl;
    return 0;
}

Резюме

В этом практическом занятии мы научились находить сумму ряда 1^2 + 3^2 + 5^2 +... + n^2 двумя разными методами: с использованием цикла for и с использованием математической формулы. Мы также рассмотрели, как написать программу на C++ для решения этой задачи. Теперь вы должны четко понимать, как найти сумму ряда с использованием C++.