Назад Зміст Вперед

Додаткові задачі

Приклад 1

Дано дійсне a та натуральне n. Вивести на екран числа: a1 a2 a3 ...an-1 an. Наприклад, для a=3 та n=4 це будуть такі числа: 3 9 27 81

Результати роботи програми

ВвідВідповідь
3 43 9 27 81

Програма

#include <iostream>
using namespace std;
#include <cstdlib>

int main()
{
    int x = rand();  // Генерація першого випадкового числа
    int y = rand();  // Генерація другого випадкового числа
    
    // Виведення згенерованих чисел та максимального можливого значення RAND_MAX
    cout << x << " " << y << " " << RAND_MAX;
    
    return 0;  // Завершення програми
}

Приклад 2

Дано дійсне a та натуральне n. Знайти суму: S=a1+a2+a3+...+an-1+an. Наприклад, для a=3 та n=4 це буде така сума: S=3+ 9 +27+ 81=120

Ця програма відрізняється від попередньої тим, що потрібно не виводити на екран проміжні значення змінної p, а додавати їх. Будемо використовувати для цього змінну S. Ясно, що у циклі замість оператора cout будемо виконувати оператор накопичення суми. А виводити на екран будемо значення вже після циклу.

Результати роботи програми

Ввід Вивід
3 4 120

Програма

#include <iostream>
#include <cmath>
using namespace std;

int main()
{
    int i, n; double a, p, s=0;
    cin >> a >> n; // Введення основи a та степеня n
    for (i=1; i<=n; i++)
    {
        p=pow(a, i); // Обчислення a в степені i
        s=s+p; // Додавання результату до суми
    }
    cout << "s=" << s << " "; // Виведення суми
    return 0;
}

Приклад 3

Дано дійсне a та натуральне n. Знайти суму: S=a1-a2+a3-a4+...an.

Наприклад, для a=3 та n=5 це буде така сума: S=3 - 9 +27 - 81 + 243 = 183

Ця програма повинна знаходити знакозмінну суму. Тому доданок у сумі (x) розділимо на два співмножники: знак доданка (z) та степінь (p). Кожний співмножник будемо обчислювати окремо, а потім перемножать.

Змінні:

Вхідні:

Вихідні:

Проміжні:

Алгоритм

  1. Спочатку вводимо числа n і а.
  2. Ми будемо знаходити суму. Тому присвоїмо початкове значення 0 змінній s.
  3. Знак доданка будемо встановлювати оператором z=-z. Перший доданок має знак плюс, тому встановимо початкове значення знака z=-1.
  4. У циклі будемо виконувати такі дії:
    1. Змінюємо знак доданка на протилежний.
    2. Знаходимо степень
    3. Знаходимо доданок
    4. Виводимо доданок на екран
    5. Накопичуємо доданок у суму
  5. Коли цикл закінчиться, виводимо знайдене значення суми на екран

Програма

#include <iostream>
#include <cmath>
using namespace std;

int main()
{
    int i, n, z=-1; double x, a, p, s=0;
    cin >> a >> n; // Введення основи a та степеня n
    for (i=1; i<=n; i++)
    {
        z=-z; // Зміна знака для чергування додавання та віднімання
        p=pow(a, i); // Обчислення a в степені i
        x=z*p; // Обчислення x як добуток знака та степеня
        cout << "x=" << x << " "; // Виведення поточного значення x
        s=s+x; // Додавання x до суми
    }
    cout << "\ns=" << s; // Виведення кінцевої суми
    return 0;
}

Приклад 4

Дано дійсне a та натуральне n. Знайти суму:

Змінні:

Вхідні:

Вихідні:

Проміжні:

Алгоритм

  1. Спочатку вводимо натуральне число n.
  2. Ми будемо знаходити суму. Тому присвоїмо початкове значення 0 змінній s.
  3. Кожний доданок суми складається з знака, степні aі, а також дробу 1/(і+1). Перший доданок має знак плюс, тому встановимо початкове значення знака z=-1.
  4. У циклі будемо виконувати такі дії:
    1. Оператором z=-z змінюємо знак доданка на протилежний.
    2. Оператором p=pow(a,i) знаходимо степень.
    3. Оператором k=1.0/(i+1) знаходимо дробовий коефіцієнт. Використовуємо 1.0, щоб ділення було не цілим.
    4. Оператором x=z*k*p знаходимо доданок
    5. Оператором s=s+x накопичуємо суму
  5. Коли цикл закінчиться, виводимо знайдене значення суми на екран .

Результати роботи програми

ВвідВивід
2 3 1.667
3 4 -10.950

Програма

#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;

int main()
{
    int i, n, z = -1; double k, x, a, p, s = 0;
    cin >> a >> n; // Введення значення основи a та степеня n
    cout << fixed; // Встановлення фіксованого формату виводу
    cout.precision(3); // Встановлення точності виводу до 3 знаків після коми
    for (i = 1; i <= n; i++) // Цикл обчислення суми від i=1 до n
    {
        z = -z; // Зміна знака для чергування додатних і від'ємних членів
        p = pow(a, i); // Обчислення a в степені i
        k = 1.0 / (i + 1); // Обчислення коефіцієнта k = 1 / (i + 1)
        x = z * k * p; // Обчислення поточного члена x
        cout << x << " "; // Виведення значення x
        s = s + x; // Додавання x до загальної суми s
    }
    cout << "\ns=" << s; // Виведення значення суми s
    return 0;
}

Приклад 5

Дано натуральне n. Обчисліть значення S=1!+2!+3!+4!+...+n!
n!=1*2*3…n (читається n факторіал).
Для обчислення факторіалу використовується операція множення. Для знаходження факторіалу спочатку потрібно помножити на 2, потім результат на 3, потім результат на 4 і т.д. У якості цього числа зручно використовувати параметр циклу. Тоді оператор, який повторюється x=x*i.

Програма   Екран   
Ввід Вивід
#include <iostream>
#include <cmath>
using namespace std;

int main()
{
    long int i, n, x=1, s=0;
    cin >> n; // Введення значення n
    for (i=1; i<=n; i++) // Цикл від 1 до n
    {
        x=x*i; // Обчислення факторіалу (x = x * i)
        cout << "x=" << x << " "; // Виведення поточного значення x
        s=s+x; // Додавання x до суми s
    }
    cout << "\ns=" << s; // Виведення кінцевої суми s
    return 0;
}
8 1 2 6 24 120 720 5040 40320
s=46233

Приклад 6

Дано натуральне n. Знайти добуток S=n2*(n+1)2*(n+2)2*(n+3)2*...*(n+n)2

При n=1 S=12*(1+1)2=4

При n=2 S=22*(2+1)2(2+2)2=576

Програма   Екран   
Ввід Вивід
#include <iostream>
#include <cmath>
using namespace std;
#include <cstdio>

int main()
{
    long int i, n; float x, k, s=1;
    cin >> n; // Введення значення n
    for (i=0; i<n; i++) // Цикл від 0 до n-1
    {
        k=n+i; // Обчислення k як суми n та i
        x=pow(k, 2); // Обчислення x як k піднесеного до квадрату
        cout << x << " "; // Виведення значення x
        s=s*x; // Множення s на x
    }
    printf ("\nS=%.0f", s); // Виведення значення s з форматуванням
    return 0;
}
4 16 25 36 49 64
S=45158400

Варіанти задач

Варіант 1

  1. Знайдіть суму кубів всіх цілих чисел від 20 до 40.
  2. Дано дійсне число а і натуральне число n. Обчисліть a*(a-n)*(a-2*n)*(a-3*n)…*(a-n2). Наприклад, для а=2 та n=4 добуток дорівнює: 2*(2-4)*(2-2*4)*(2-3*4)*(2-4*4)=3360.

Варіант 2

  1. Знайдіть суму квадратів всіх цілих чисел від А до 50.
  2. Дано натуральне число n. Обчисліть добуток (1+2)*(1+2+3)*…*(1+2+…+n). Наприклад, для n =4 числа будуть такі: 1, 1+2, 1+2+3, 1+2+3+4 . Їх добуток дорівнює 180.

Варіант 3

  1. Знайдіть суму квадратів всіх цілих чисел від 1 до А.
  2. Дано цілі додатні числа A та B. Вивести всі цілі числа від A до B включно, при цьому кожне число виводити стільки разів, яке його значення. (наприклад, для А=3 В=6 відповідь буде така: 333444455555666666).

Варіант 4

  1. Знайдіть суму квадратів всіх цілих чисел від А до В.
  2. Дано цілі числа A та B. Вивести всі цілі числа від A до B включно, при цьому число A потрібно виводити 1 раз, число A + 1 потрібно виводити 2 рази і т. д. (наприклад, для А=3 В=6 відповідь буде така: 3445556666).

Варіант 5

  1. Дано натуральне число n. Обчисліть суму S=4+8+12+...+4*n.
  2. Обчисліть з точністю до 8 знаків після крапки:

Варіант 6

  1. Дано натуральне число n. Обчисліть з точністю до 6 знаків після крапки суму .
  2. Обчисліть з точністю до 8 знаків після крапки:

Варіант 7

  1. Дано натуральне число n. Обчисліть з точністю до 6 знаків після крапки суму
  2. Дано натуральне число n. Якщо n непарне, то обчисліть добуток 1*3*5*7...*n, а якщо n парне, то добуток 2*4*6...*n.

Варіант 8

  1. Дано дійсне число A та натуральне число N. Знайти суму 1 + A + A2 + A3 + … + AN.
  2. Дано N дійсних чисел A1, A2, …, AN. Вивести на екран такі числа: (A1)N, (A2)N–1, …, (AN–1)2, AN.

Варіант 9

  1. Дано дійсне число A та натуральне число N. Знайти суму 1– A + A2 – A3 + … + (–1)N AN .
  2. Дано N дійсних чисел A A1, A2, …, AN. Вивести на екран такі числа: A1, (A2)2, …, (AN–1)N–1, (AN)N.

Варіант 10

  1. Дано натуральне число n. Обчисліть з точністю до 6 знаків після крапки суму
  2. Знайти добуток 1.1 * 1.2 * 1.3* …*1.9 з дев’ятьма знаками після крапки.

Варіант 11

  1. Дано натуральне число n. Обчисліть з точністю до 5 знаків після крапки суму
  2. Знайти суму 1.1 – 1.2 + 1.3 – 1.4…+1.9 з одним знаком після крапки.

Варіант 12

  1. Дано натуральне число х. Обчисліть з точністю до 5 знаків після крапки суму
  2. Дано натуральне число n. Надрукуйте n чисел ai=i*(i+1)*(i+2)*...*(i+i) при i=1, 2, ...n та знайдіть їх суму. Наприклад, для n=3 це будуть такі числа:
    a1=1*(1+1)=2;
    a2=2*(2+1)*(2+2)=24;
    a3=3*(3+1)*(3+2)*(3+3)=360.
    Їх сума буде 386.

Варіант 13

  1. Дано натуральне число х. Обчисліть з точністю до 5 знаків після крапки суму
  2. Дано натуральні числа n, x, a. Обчисліть y для n множень.
    Наприклад, для n=5 y=(((((x+a)*x+a)*x+a)*x+a)*x+a)*x+a.

Варіант 14

  1. Дано натуральне число n. Обчисліть суму S=1! + 2! + 3! + … + N!
  2. Написати програму, яка виводить на екран квадрат Піфагора – таблицю множення у вигляді:
    
           1   2   3   4   5   6   7   8   9  10
        ----------------------------------------
     1 ¦   1   2   3   4   5   6   7   8   9  10
     2 ¦   2   4   6   8  10  12  14  16  18  20
     3 ¦   3   6   9  12  15  18  21  24  27  30
     4 ¦   4   8  12  16  20  24  28  32  36  40
     5 ¦   5  10  15  20  25  30  35  40  45  50
     6 ¦   6  12  18  24  30  36  42  48  54  60
     7 ¦   7  14  21  28  35  42  49  56  63  70
     8 ¦   8  16  24  32  40  48  56  64  72  80
     9 ¦   9  18  27  36  45  54  63  72  81  90
    10 ¦  10  20  30  40  50  60  70  80  90 100
    

Варіант 15

  1. Дано натуральне число n. Обчисліть з точністю до 5 знаків після крапки суму
  2. Дано натуральне число n. Обчисліть добуток з n множників Р=(1+2)*(3+4+5)*(6+7+8+9)*(10+11+12+13+14)*....

Варіант 16

  1. Дано цілі додатні числа N та K. Знайдіть суму 1K + 2K + … + NK. Наприклад, для N=3 и K=2 сума дорівнює 12 + 22 + 32=14.
  2. Дано натуральне число n. Обчисліть суму з n доданків s=1*2+3*4*5+6*7*8*9+10*11*12*13*14+... Наприклад, для n=3 це буде така сума: s=1*2+3*4*5+6*7*8*9=3086

Варіант 17

  1. Дано натуральне число N. Обчисліть суму S=1N + 2N–1 + … + N1. Наприклад, для N=4 сума дорівнює S=14 + 23 + 32+41=22.
  2. Дано натуральне число n. Обчисліть з точністю до 5 знаків після крапки добуток перших n множників . Наприклад, для n=3 це буде:

Назад Зміст Вперед