Как найти сумму квадратов четных чисел

Improve Article

Save Article

Like Article

  • Read
  • Discuss
  • Improve Article

    Save Article

    Like Article

    We know sum squares of first n natural numbers is frac{n(n+1)(2n+1)}{6}.

    How to compute sum of squares of first n even natural numbers?
    We need to compute 22 + 42 + 62 + …. + (2n)2

    EvenSum = 22 + 42 + 62 + .... + (2n)2 
            = 4 x (12 + 22 + 32 + .... + (n)2)
            = 4n(n+1)(2n+1)/6
            = 2n(n+1)(2n+1)/3
    

    Example:

    Sum of squares of first 3 even numbers =
                     2n(n+1)(2n+1)/3
                   = 2*3(3+1)(2*3+1)/3
                   = 56
    22 + 42 + 62 = 4 + 16 + 36 = 56

    How to compute sum of squares of first n odd natural numbers?
    We need to compute 12 + 32 + 52 + …. + (2n-1)2

    OddSum  = (Sum of Squares of all 2n numbers) - 
              (Sum of squares of first n even numbers)
            = 2n*(2n+1)*(2*2n + 1)/6 - 2n(n+1)(2n+1)/3
            = 2n(2n+1)/6 [4n+1 - 2(n+1)] 
            = n(2n+1)/3 * (2n-1)
            = n(2n+1)(2n-1)/3
    

    Example:

    Sum of squares of first 3 odd numbers = n(2n+1)(2n-1)/3
                                          = 3(2*3+1)(2*3-1)/3
                                          = 35
    12 + 32 + 52 = 1 + 9 + 25 = 35

    Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above

    Last Updated :
    04 Apr, 2019

    Like Article

    Save Article

    Студворк — интернет-сервис помощи студентам

    Pascal
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    
    Program qrt;
    Uses crt;
    Var
      n,i,k,s:integer;
    Begin
      Writeln('Введите n');
      Readln(n);
      clrscr;
      s:=0;
      for i:=1 to n do
      Begin
        if i mod 2=0 then  {если чётное}
        Begin
          k:=i*i;
          s:=s+k;
        End;
      End;
      Writeln('сумма' ,s);
      Readln;
    End.

    Вот моя программа, она находит сумму четных чисел.
    Но моя задача состоит в том, что бы она при некорректном вводе данных (по моей задумке это все, кроме чисел от 0 до 100), выводило сообщение об ошибке, + к этому нужно, что бы после неправильного ввода, программа не завершала свою работу, а предлагала каждый раз ввести перменную заного, до тех пор, пока не уложится в интервал от 0 до 100. Не смог сделать сообщение об ошибке потому, что не додумался как вывести это сообщение, если ввели не число, а буквы (не удалось совместить real и integer).

    Search
    Дом математика ↺
    математика Последовательность и серия ↺
    Последовательность и серия Общие серии ↺
    Общие серии Сумма площадей ↺

    Значение N — это общее количество членов от начала ряда до места, где вычисляется сумма ряда.Значение N [n]

    +10%

    -10%

    Сумма квадратов первых N четных натуральных чисел — это сумма квадратов четных натуральных чисел, начиная с 2 и заканчивая n-м четным числом 2n.Сумма квадратов первых N четных натуральных чисел [Sn2(Even)]

    ⎘ копия

    Сумма квадратов первых N четных натуральных чисел Решение

    ШАГ 0: Сводка предварительного расчета

    ШАГ 1. Преобразование входов в базовый блок

    Значение N: 5 —> Конверсия не требуется

    ШАГ 2: Оцените формулу

    ШАГ 3: Преобразуйте результат в единицу вывода

    220 —> Конверсия не требуется




    3 Сумма площадей Калькуляторы

    Сумма квадратов первых N четных натуральных чисел формула

    Сумма квадратов первых N четных натуральных чисел = (2*Значение N*(Значение N+1)*((2*Значение N)+1))/3

    Sn2(Even) = (2*n*(n+1)*((2*n)+1))/3

    Что такое общая серия?

    Предположим, что a1, a2, a3, …, an — последовательность такая, что выражение a1 a2 a3 ,… an называется рядом, ассоциированным с данной последовательностью.

    Где используются серии?

    Ряды используются в большинстве областей математики, даже для изучения конечных структур (например, в комбинаторике) с помощью производящих функций. В дополнение к их повсеместному распространению в математике, бесконечные ряды также широко используются в других количественных дисциплинах, таких как физика, информатика, статистика и финансы.

    Нужно найти сумму квадратов четных чисел от 1 до N(введено с клавиатуры), числа должны быть больше 0, иначе выйдет ошибка.
    У меня в коде выводится только квадрат последнего введенного числа.
    Вот мой код:

    #include <iostream>
    using namespace std;
    
    int main()
    {
        setlocale(0, "");
        int a;
        int N;
        int total=0;
        int sum = 0;
        cout << "Введите кол-во чисел: ";
        cin >> N;
        cout << "Введите числа: ";
        for (int i = 0; i < N; ++i)
        {
            cin >> a;
        }
        if (a < 0)
        {
            cout << "Это число меньше 0" << endl;
        }
        if (a > 0)
        {
            total= a* a;
            sum += a;
        }
        cout << "Сумма квадратов: " << total << endl;
    
    }
    

    Harry's user avatar

    Harry

    214k15 золотых знаков117 серебряных знаков229 бронзовых знаков

    задан 17 окт 2020 в 15:12

    L3GEND's user avatar

    0

    По-моему, вы не поняли условие.

    Я его понял так — вы вводите число N, ну, скажем, 12. И суммируете квадраты всех четных чисел, лежащих в диапазоне [1,N] — т.е. для 12 это

    введите сюда описание изображения

    Проще всего посчитать эту сумму так (нужно немного знания математики):

    cout << "Введите число N: ";
    cin >> n;
    n /= 2;
    cout << "Сумма квадратов: " << 2*n*(n+1)*(2*n+1)/3 << endl;
    

    Математика сводится к вычислению суммы:

    введите сюда описание изображения

    При этом вполне объяснимо условие, что если N меньше 0, то получается ошибка…

    ответ дан 17 окт 2020 в 15:39

    Harry's user avatar

    HarryHarry

    214k15 золотых знаков117 серебряных знаков229 бронзовых знаков

    for (int i = 0; i < N; ++i)
    {
        cin >> a;
    }
    

    т.е. вы в цикле собрали N чисел, но ничего с ними не делали, а уже после цикла что-то сделали с a — вот вам и неверный результат :)

    всю остальную логику тоже надо в цикл этот разместить

    ответ дан 17 окт 2020 в 15:14

    Zhihar's user avatar

    ZhiharZhihar

    36.9k4 золотых знака25 серебряных знаков67 бронзовых знаков

    Естественно у Вас будет выводиться только последнее число, ибо Вы перезаписываете каждый раз переменную «a». Оберните 2 if блока после цикла for в этот же цикл.

    ответ дан 17 окт 2020 в 15:15

    0

    Формулировка задачи:

    Program qrt;
    Uses crt;
    Var
      n,i,k,s:integer;
    Begin
      Writeln('Введите n');
      Readln(n);
      clrscr;
      s:=0;
      for i:=1 to n do
      Begin
        if i mod 2=0 then  {если чётное}
        Begin
          k:=i*i;
          s:=s+k;
        End;
      End;
      Writeln('сумма' ,s);
      Readln;
    End.

    Вот моя программа, она находит сумму четных чисел.
    Но моя задача состоит в том, что бы она при некорректном вводе данных (по моей задумке это все, кроме чисел от 0 до 100), выводило сообщение об ошибке, + к этому нужно, что бы после неправильного ввода, программа не завершала свою работу, а предлагала каждый раз ввести перменную заного, до тех пор, пока не уложится в интервал от 0 до 100. Не смог сделать сообщение об ошибке потому, что не додумался как вывести это сообщение, если ввели не число, а буквы (не удалось совместить real и integer).

    Код к задаче: «Найти сумму квадратов четных чисел»

    textual

    Program qrt;
    Uses crt;
    Var
      n,i,k,s:integer;
    Begin
    repeat
      Writeln('Введите n');
      Readln(n);
      if (n>0) and (n<100) then writeln('Верно!') 
      else writeln('Ошибка! ');
      until n in [1..100];
      clrscr;
      s:=0;
      for i:=1 to n do
      Begin
        if i mod 2=0 then  {если чётное}
        Begin
          k:=i*i;
          s:=s+k;
        End;
      End;
      Writeln('сумма' ,s);
      Readln;
    End.

    Полезно ли:

    8   голосов , оценка 3.625 из 5

    Понравилась статья? Поделить с друзьями:
  • Как найти статистику запросов яндекса
  • Как найти младенческую смертность
  • Как найти адрес группы в телеграмме
  • The message is not supported on this version of telegram как исправить
  • Заговоры как найти брата