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

Задачі з використанням двох змінних для вводу послідовності чисел

В попередніх задачах для вводу будь-якої послідовності чисел ми використовували одну змінну. На кожному наступному витку циклу ми вводили нове значення у цю змінну затираючи попереднє значення. Це нас влаштовувало, бо попереднє значення цієї змінної нам було не потрібно. Але існують задачі в яких потрібні два значення: „попереднє” (a1) та „наступне” (a2), наприклад для порівняння. Причому, кожне число (окрім першого та останнього) на одному витку циклу є „наступним”, а на другому витку „попереднім”.

В цих випадках перед циклом вводиться „попереднє”, в циклі завжди вводиться „наступне”, а перед переходом на наступний виток циклу „наступне” стає „попереднім”.

Правило

  1. Перед циклом потрібно ввести перше число у змінну (a1). Воно буде „попереднім”.
  2. У циклі, (цикл від 2, бо одне число вже ввели):
    • Вводиться „наступне” число у змінну (a2)
    • З числами a1 та a2 виконуються необхідні дії, наприклад їх порівнюють (або використовують інший алгоритм).
    • Перед переходом на наступний виток циклу, „наступне” значення повинно стати „попереднім”. Для цього використовують присвоювання a1=a2.
  3. Після завершення циклу виводять на екран результат.

Приклад 1

Дано n цілих чисел. Чи є ця послідовність зростаючою?

Дано: кількість чисел та самі числа.

Знайти: Якщо кожне „наступне” число більше „попереднього”, то надрукувати yes, якщо є число яке менше чи дорівнює тому що перед ним, то надрукувати no.

Ясно, що у цій програмі окрім описаного нового алгоритму, потрібно використовувати вже відомий алгоритм „з логічною змінною”, або з ознакою. Цей алгоритм потрібний, бо для деякої послідовності чисел, потрібно відповісти на питання „так”, або „ні”.

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

ВвідВивідПояснення
5
1 2 13 44 68
Yes Чисел 5.
1<2<13<44<68, тому Yes
5
1 7 5 6 3
NO Чисел 5.
1<7, але 7>5, тому No
6
0 1 3 4 5 5
NO Чисел 6.
0<1<3<4<5, але 5=5, тому No

Змінні:

Вхідні:

Вихідні:

Проміжні:

Алгоритм

  1. Спочатку потрібно присвоїти початкове значення ознаці f=true. Будемо вважати, що послідовність зростає. Тоді якщо зустрінемо не зростання, змінимо це значення на протилежне.
  2. Вводимо n – кількість чисел, що будемо вводити.
  3. До початку циклу вводимо перше число у змінну a1. Воно буде «попереднім». Його будемо порівнювати з «наступним» a2.
  4. Оскільки перше число введено, то заголовок циклу буде від 2. У у циклі будемо виконувати такі дії:
  5. Коли цикл закінчиться, тобто будуть введені всі n чисел, значення змінної f (ознаки) або залишиться початковим true (якщо завжди було a2>a1), або зміниться на false (якщо хоча б один раз було a2<=a1).
  6. Після завершення циклу потрібно перевірити значення змінної f.

Програма

Приклад 2

Ввести з клавіатури n будь-яких цілих чисел. З’ясуйте чи створюють ці числа зростаючу арифметичну прогресію, тобто чи є різниця між „наступним” та „попереднім” числами додатною та однаковою для всіх чисел. Відповідь „так” чи „ні”.

Дано: кількість чисел та самі числа.

Знайти: Якщо кожне „наступне” число більше „попереднього” на однакове додатне число, то надрукувати yes, якщо ні, то надрукувати no.

Ясно, що у цій програмі, окрім описаних вище алгоритмів, потрібно знайти різницю між другим та першим числами і, якщо вона додатна, порівнювати її з різницею між третім та другим, четвертим та третім і.т.і. А для того, щоб знайти різницю між першим та другим числами, потрібно два перших числа ввести до початку циклу, а інші числа вже вводити в циклі.

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

ВвідВивідПояснення
5
3 6 9 12 15
Yes Чисел 5. 6-3=3, це >0,
9-6=3, 12-9=3, 15-12=3, тому Yes
4
12 8 4 0
NO Чисел 4.
8-12=-4, це <0, тому No
3
10 12 15
NO Чисел 3. 12-10=2, це >0,
15-12=3, 3!=2, тому No

Змінні:

Вхідні:

Вихідні:

Проміжні:

Алгоритм

  1. Вводимо n – кількість чисел, що будемо вводити.
  2. Вводимо перше число у змінну a0, а друге число у змінну a1 (воно буде „попереднім”).
  3. Знайдемо різницю між другим та першим числом: p1=a1-a0.
  4. Тепер потрібно присвоїти початкове значення ознаці f. Якщо p1>0, то f=true, тобто будемо вважати, що послідовність зростає і є арифметичною прогресією. Якщо p1<0, то f=false, бо послідовність вже не є зростаючою.
  5. Оскільки введено вже два числа, то заголовок циклу має бути від 3. У фігурних дужках будемо виконувати такі дії:
  6. Коли цикл закінчиться, тобто будуть введені всі n чисел, значення змінної f (ознаки) або залишиться початковим true (якщо завжди було p2=p1), або зміниться на false (якщо хоча б один раз було p2!=p1).
  7. Після завершення циклу потрібно перевірити значення змінної f.

Програма

Приклад 3

Дано n цілих чисел. Визначте максимальну кількість 0, що йдуть підряд.

У цій програмі будемо рахувати нулі, що йдуть підряд та знаходити максимальне значення серед цих лічильників.

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

ВвідВивідПояснення
7
2 0 0 8 0 0 0
3 7 це кількість чисел.
В першій групі 2 нулі, у другій групі 3 нулі, тому відповідь 3.

Змінні:

Вхідні:

Вихідні:

Проміжні:

Алгоритм

  1. Спочатку потрібно ввести кількість чисел .
  2. Потім потрібно встановити початкове значення змінній max=0, тобто вважаємо що нулів немає.
  3. Встановлюємо початкове значення лічильника нулів k=0.
  4. У циклі будемо виконувати такі дії:
  5. Коли цикл закінчиться, тобто будуть введені всі n чисел, у змінній max буде максимальне значення серед лічильників нулів k. Це число виводиться на екран.

Програма

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

Варіант 1

  1. Дано n цілих чисел. Чи є ця послідовність спадаючою? Відповідь „так” чи „ні”. Наприклад, для послідовності з чотирьох чисел 37, 7, 5, 3, відповідь буде „так”, а для послідовності 37, 75, 25, 3 відповідь буде „ні”.
  2. Дано n цілих чисел. З’ясуйте, чи є ця послідовність знакозмінною, тобто такою, в якій два сусідніх числа мають різні знаки. Відповідь „так” чи „ні”. Наприклад, для послідовності з чотирьох чисел 3, -7, 5, -3, відповідь буде „так”, а для послідовності 7, -5, -2, 3 відповідь буде „ні”.

Варіант 2

  1. Дано n цілих чисел. З’ясуйте, чи є ця послідовність знакозмінною, тобто такою, в якій два сусідніх числа мають різні знаки. Відповідь „так” чи „ні”. Наприклад, для послідовності з чотирьох чисел 3, -7, 5, -3, відповідь буде „так”, а для послідовності 7, -5, -2, 3 відповідь буде „ні”.
  2. Дано n цілих чисел. З’ясуйте, чи є ця послідовність такою, в якій два сусідніх числа мають різну парність, тобто парні та непарні числа йдуть по черзі. Наприклад, для послідовності з чотирьох чисел 1, 2, 7, 4, відповідь буде „так”, а для послідовності 2 3 5 8 відповідь буде „ні”.

Варіант 3

  1. Дано n цілих чисел. З’ясуйте, чи є ця послідовність такою, в якій два сусідніх числа мають різну парність, тобто парні та непарні числа йдуть по черзі. Наприклад, для послідовності з чотирьох чисел 1, 2, 7, 4, відповідь буде „так”, а для послідовності 2 3 5 8 відповідь буде „ні”.
  2. Дано n цілих чисел. З’ясуйте, чи є ця послідовність такою, в якій з двох сусідніх чисел одне закінчується на 0, а друге ні, тобто такі числа йдуть по черзі. Наприклад, для послідовності з чотирьох чисел 10, 6, 70, 3, відповідь буде „так”, а для послідовності 20 3 6 80 відповідь буде „ні”.

Варіант 4

  1. Дано n цілих чисел. З’ясуйте, чи є ця послідовність такою, в якій з двох сусідніх чисел одне закінчується на 3, а друге ні, тобто такі числа йдуть по черзі. Наприклад, для послідовності з чотирьох чисел 13, 6, 73, 2, відповідь буде „так”, а для послідовності 23 3 6 80 відповідь буде „ні”.
  2. Дано n цілих чисел. З’ясуйте, чи є ця послідовність такою, в якій з двох сусідніх чисел одне кратне 5, а друге ні, тобто кратні та не кратні 5 числа йдуть по черзі. Наприклад, для послідовності з чотирьох чисел 1, 15, 7, 20, відповідь буде „так”, а для послідовності 2 3 10 8 відповідь буде „ні”.

Варіант 5

  1. Дано n цілих чисел. З’ясуйте, чи є ця послідовність такою, в якій з двох сусідніх чисел одне закінчується на 2, а друге закінчується на 3, тобто такі числа йдуть по черзі. Наприклад, для послідовності з чотирьох чисел 13, 22, 123, 2, відповідь буде „так”, а для послідовності 2 3 6 13 відповідь буде „ні”.
  2. Ввести в рядок n цілих чисел. З кожних двох різних „сусідніх” чисел виведіть на екран найбільше. Наприклад, для п’яти чисел 3 4 2 6 6 потрібно вивести 4 (для пари 3 4), 4 (для пари 4 2), 6 (для пари 2 6). Пара 6 6 містить однакові числа, тому нічого не виводиться.

Варіант 6

  1. Дано n цілих чисел. З’ясуйте, чи є ця послідовність такою, в якій одиниці та нулі йдуть по черзі. Наприклад, для послідовності з чотирьох чисел 1, 0, 1, 0, відповідь буде „так”, а для послідовності 1 1 0 1 відповідь буде „ні”.
  2. Ввести в рядок n цілих чисел. З кожних двох різних „сусідніх” чисел виведіть на екран найменше. Наприклад, для п’яти чисел 3 4 2 6 6 потрібно вивести 3 (для пари 3 4), 2 (для пари 4 2), 2 (для пари 2 6). Пара 6 6 містить однакові числа, тому нічого не виводиться.

Варіант 7

  1. Дано n цілих чисел. З’ясуйте, чи є ця послідовність такою, в якій з двох сусідніх чисел одне однозначне, а друге двохзначне, тобто такі числа йдуть по черзі. Наприклад, для послідовності з чотирьох чисел 13, 2, 23, 2, відповідь буде „так”, а для послідовності 2 223 16 13 відповідь буде „ні”.
  2. Ввести в рядок n цілих чисел. Вивести на екран суми „попередніх” та „наступних” чисел. Наприклад, для чотирьох чисел 2 4 5 3 буде виведено 6 9 8 (2+4=6, 4+5=9, 5+3=8).

Варіант 8

  1. Дано n цілих чисел. З’ясуйте, чи є ця послідовність такою, в якій з двох сусідніх чисел одне трьохзначне, а друге двохзначне, тобто такі числа йдуть по черзі. Наприклад, для послідовності з чотирьох чисел 13, 142, 23, 789, відповідь буде „так”, а для послідовності 12 223 16 3 відповідь буде „ні”.
  2. Ввести в рядок n цілих чисел. Вивести на екран добутки „попередніх” та „наступних” чисел. Наприклад, для чотирьох чисел 2 4 5 3 буде виведено 8 20 15 (2*4=8, 4*5=20, 5*3=15).

Варіант 9

  1. Дано n цілих чисел. З’ясуйте, чи є ця послідовність такою, в якій з двох сусідніх чисел одне кратно 3,но не кратно 5, а друге кратно 5,но не кратно 3, тобто такі числа йдуть по черзі. Наприклад, для послідовності з чотирьох чисел 25, 6, 10, 12, відповідь буде „так”, а для послідовності 20 3 15 4 відповідь буде „ні”.
  2. Дано n цілих чисел. З'ясуйте, чи є в цій послідовності хоча б одна пара додатних «сусідніх» чисел. Наприклад, серед п’яти чисел 3 -4 6 8 7, є додатні сусідні числа 6 8 та 8 7, а серед чисел 3 -4 -6 -7 6 немає. Відповідь „так” чи „ні”.

Варіант 10

  1. Дано n цілих чисел. З’ясуйте, чи є в цій послідовності хоча б одна пара однакових «сусідніх» чисел. Наприклад, серед п’яти чисел 4 4 6 6 7, є однакові сусідні числа 4 4 та 6 6, а серед чисел 3 4 6 7 6 немає. Відповідь „так” чи „ні”.
  2. Ввести з клавіатури n будь-яких цілих чисел. З’ясуйте чи створюють ці числа арифметичну прогресію, тобто чи є різниця між „наступним” та „попереднім” числами однаковою для всіх чисел. Відповідь „так” чи „ні”. Наприклад, для послідовності з чотирьох чисел 13, 23, 33, 43, відповідь буде „так”, а для послідовності 13 12 10 9 відповідь буде „ні”.

Варіант 11

  1. Дано n цілих чисел. З’ясуйте, чи є ця послідовність такою, в якій з двох сусідніх чисел одне кратно 2,но не кратно 3, а друге кратно 3,но не кратно 2, тобто такі числа йдуть по черзі. Наприклад, для послідовності з чотирьох чисел 20, 9, 10, 27, відповідь буде „так”, а для послідовності 20 3 15 4 відповідь буде „ні”.
  2. Ввести з клавіатури n будь-яких чисел. З’ясуйте чи створюють ці числа геометричну прогресію, тобто чи є частка від ділення „наступного” числа на „попереднє”, однаковою для всіх чисел. Відповідь „так” чи „ні”. Наприклад, для послідовності з чотирьох чисел 375, 75, 15, 3, відповідь буде „так”, а для послідовності 375, 75, 25, 3 відповідь буде „ні”.

Варіант 12

  1. Ввести з клавіатури n будь-яких чисел. З’ясуйте чи створюють ці числа зростаючу геометричну прогресію, тобто чи є частка від ділення „наступного” числа на „попереднє”, однаковою та більше 1 для всіх чисел. Відповідь „так” чи „ні”. Наприклад, для послідовності з чотирьох чисел 3, 15, 75, 375, відповідь буде „так”, а для послідовності 375, 75, 25, 3 відповідь буде „ні”.
  2. Дано n цілих чисел. З'ясуйте, чи є в цій послідовності хоча б одна пара непарних «сусідніх» чисел. Наприклад, серед п’яти чисел 3 5 6 9 7, є непарні сусідні числа 3 5 та 9 7, а серед чисел 3 -4 -6 -7 6 немає. Відповідь „так” чи „ні”.

Варіант 13

  1. Ввести з клавіатури n будь-яких цілих чисел. З’ясуйте чи створюють ці числа спадаючу арифметичну прогресію, тобто чи є різниця між „наступним” та „попереднім” числами від’ємною та однаковою для всіх чисел. Відповідь „так” чи „ні”. Наприклад, для послідовності з чотирьох чисел 13, 11, 9, 7, відповідь буде „так”, а для послідовності 12 10 8 3 відповідь буде „ні”.
  2. Дано n цілих чисел. З'ясуйте, чи є в цій послідовності хоча б одна пара «сусідніх» однозначних чисел. Наприклад, серед п’яти чисел 3 5 62 9 7, є такі сусідні числа 3 5 та 9 7, а серед чисел 3 24 6 67 6 немає. Відповідь „так” чи „ні”.

Варіант 14

  1. Ввести з клавіатури n будь-яких чисел. З’ясуйте чи створюють ці числа спадаючою геометричну прогресію, тобто чи є частка від ділення „наступного” числа на „попереднє”, однаковою, додатною та меншою 1 для всіх чисел. Відповідь „так” чи „ні”. Наприклад, для послідовності з чотирьох чисел 375, 75, 15, 3, відповідь буде „так”, а для послідовності 375, 75, 25, 3 відповідь буде „ні”.
  2. Ввести з клавіатури n будь-яких чисел. Визначте максимальну кількість однакових чисел, що йдуть підряд. Наприклад, серед восьмі чисел 3 4 4 5 7 7 7 3, максимальна кількість однакових чисел дорівнює 3.

Варіант 15

  1. Дано n цілих чисел. З’ясуйте, чи є ця послідовність такою, в якій однакові числа йдуть парами. Наприклад, для послідовності з 8 чисел 3 3 10 10 12 12 6 6, відповідь буде „так”, а для послідовності 20 20 15 15 4 4 4 4 відповідь буде „ні”.
  2. Ввести з клавіатури n будь-яких чисел. Знайти суму добутків „попередніх” та „наступних” чисел. Наприклад, для чотирьох чисел 2 4 5 3 знайти 2*4+4*5+5*3.

Варіант 16

  1. Дано n цілих чисел. З’ясуйте, чи є ця послідовність такою, в якій однакові числа йдуть по троє. Наприклад, для послідовності з 9 чисел 3 3 3 10 10 10 6 6 6, відповідь буде „так”, а для послідовності 20 20 20 4 4 4 1 2 2 відповідь буде „ні”.
  2. Ввести з клавіатури n будь-яких чисел. Знайти максимальне серед добутків „попередніх” та „наступних” чисел. Наприклад, для чотирьох чисел 2 4 5 3 з добутків 2*4=8, 4*5=20, 5*3=15 максимальним буде 20.

Варіант 17

  1. Дано n цілих чисел. З’ясуйте, чи є ця послідовність такою, в якій однакові числа йдуть парами, але між парами однакових є одне інше число. Наприклад, для послідовності з 11 чисел 3 3 5 10 10 1 12 12 3 6 6, відповідь буде „так”, а для послідовності 2 2 3 15 15 4 4 8 4 4 1 відповідь буде „ні”.
  2. Ввести з клавіатури n будь-яких чисел. Знайти мінімальне серед сум „попередніх” та „наступних” чисел. Наприклад, для чотирьох чисел 2 4 5 3 з сум 2+4=6, 4+5=9, 5+3=8 мінімальною буде 6.

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