Назад
Зміст
Вперед
Задачі з використанням двох змінних для вводу послідовності чисел
В попередніх задачах для вводу будь-якої послідовності чисел ми використовували одну змінну. На кожному наступному витку циклу ми вводили нове значення у цю змінну затираючи попереднє значення. Це нас влаштовувало, бо попереднє значення цієї змінної нам було не потрібно. Але існують задачі в яких потрібні два значення: „попереднє” (a1) та „наступне” (a2), наприклад для порівняння. Причому, кожне число (окрім першого та останнього) на одному витку циклу є „наступним”, а на другому витку „попереднім”.
Нехай, наприклад, нам потрібно ввести чотири числа: 4 5 3 2.
На першому витку циклу „попереднє” 4, а „наступне” 5.
На другому витку циклу „попереднє” 5, а „наступне” 3.
На третьому витку циклу „попереднє” 3, а „наступне” 2.
В цих випадках перед циклом вводиться „попереднє”, в циклі завжди вводиться „наступне”, а перед переходом на наступний виток циклу „наступне” стає „попереднім”.
Правило
- Перед циклом потрібно ввести перше число у змінну (a1). Воно буде „попереднім”.
- У циклі, (цикл від 2, бо одне число вже ввели):
- Вводиться „наступне” число у змінну (a2)
- З числами a1 та a2 виконуються необхідні дії, наприклад їх порівнюють (або використовують інший алгоритм).
- Перед переходом на наступний виток циклу, „наступне” значення повинно стати „попереднім”.
Для цього використовують присвоювання a1=a2.
- Після завершення циклу виводять на екран результат.
|
Приклад
Введіть з клавіатури n цілих чисел. Чи є серед цих чисел два рівних числа, що розташовані поруч? Відповідь „yes” чи „no”.
Наприклад, для послідовності з чотирьох чисел 3, 7, 7, 6, відповідь буде „yes”, а для послідовності 3, 7, 5, 3 відповідь буде „no”.
Дано: кількість чисел та самі числа.
Знайти: Якщо є хоча б один випадок, коли „наступне” число = „попередньому”, то надрукувати yes,
якщо таких випадків немає, то надрукувати no.
Результат роботи програми
| Ввід | Вивід | Пояснення |
5 1 2 4 4 6 | Yes | Чисел 5.
4=4, тому Yes
|
5 1 7 5 7 3 | NO | Чисел 5.
Є два однакових числа, але вони розташовані не поряд, тому No
|
Змінні:
Вхідні:
- n – кількість чисел (цілого типу)
- a1 – «попереднє» число (цілого типу)
- a2 – «наступне число» (цілого типу)
Вихідні:
- p – ознака (логічного типу).
Якщо значення цієї змінної дорівнює false, то таких чисел немає, якщо значення цієї змінної зміниться на true, то такі числа є.
Проміжні:
- i – параметр циклу (цілого типу)
Алгоритм
- Спочатку потрібно присвоїти початкове значення ознаці false.
Будемо вважати, що таких чисел немає. Тоді якщо зустрінемо такі числа, змінимо це значення на протилежне.
- Вводимо n – кількість чисел, що будемо вводити.
- До початку циклу вводимо перше число у змінну a1. Воно буде «попереднім». Його будемо порівнювати з «наступним» a2.
- Оскільки перше число введено, то заголовок циклу буде від 2. У циклі будемо виконувати такі дії:
- Вводимо «наступне» число у змінну a2.
- Будемо шукати рівність а1 та а2. Якщо знайдемо, то змінюємо значення змінної на p=true.
У протилежному випадку нічого не робимо, тобто значення p не змінюється.
- Введене число a2 на цьому витку циклу є «наступним». На наступному витку циклу воно буде «попереднім».
Тому перед переходом на наступний виток циклу потрібно виконати оператор a1=a2.
- Коли цикл закінчиться, тобто будуть введені всі n чисел, значення змінної p (ознаки) або залишиться початковим false
(якщо завжди було a2!=a1), або зміниться на true (якщо хоча б один раз було a2=a1).
- Після завершення циклу потрібно перевірити значення змінної p.
- Якщо p=false, то надрукувати no.
- Якщо p=true, то надрукувати yes.
Програма перевірки наявності однакових сусідніх елементів
#include <iostream>
using namespace std;
int main()
{
int i, n, a1, a2; // i - лічильник, n - кількість елементів
// a1, a2 - попередній та поточний елементи
bool p = false; // Прапорець наявності однакових сусідів
cin >> n; // Введення кількості елементів
cin >> a1; // Введення першого елементу
// Перебір решти елементів
for (i = 2; i <= n; i++)
{
cin >> a2; // Введення наступного елементу
// Перевірка на однаковість з попереднім елементом
if (a1 == a2) {
p = true; // Знайдено однакові сусідні елементи
}
a1 = a2; // Зберігаємо поточний елемент для наступної ітерації
}
// Виведення результату
if (p) {
cout << "yes"; // Знайдено однакові сусідні елементи
} else {
cout << "no"; // Однакових сусідніх елементів не знайдено
}
return 0;
}
Пояснення роботи програми:
Програма виконує наступні дії:
- Зчитує кількість елементів
n
- Зчитує перший елемент
a1
- Послідовно зчитує решту
n-1 елементів у циклі
- Порівнює кожен елемент з попереднім
- Якщо знайдено хоча б одну пару однакових сусідніх елементів, встановлює прапорець
p в true
- Виводить "yes", якщо знайдені однакові сусідні елементи, інакше - "no"
Тестування роботи програми:
Тест 1 (є однакові сусіди):
Вхідні дані:
5
3 5 5 2 1
Вихід:
yes
Тест 2 (немає однакових сусідів):
Вхідні дані:
4
1 2 3 4
Вихід:
no
Додаткові примітки:
- Програма перевіряє лише сусідні елементи (не всі можливі пари)
- Якщо в послідовності є хоча б одна пара однакових сусідів, результат буде "yes"
- Для великих послідовностей працює ефективно (лінійна складність O(n))
Приклад 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
|
Змінні:
Вхідні:
- n – кількість чисел (цілого типу)
- a1 – «попереднє» число (цілого типу)
- a2 – «наступне число» (цілого типу)
Вихідні:
- f – ознака (логічного типу). Якщо значення цієї змінної дорівнює true, то послідовність чисел зростає, якщо значення цієї змінної зміниться на false, то ні.
Проміжні:
- i – параметр циклу (цілого типу)
Алгоритм
- Спочатку потрібно присвоїти початкове значення ознаці f=true.
Будемо вважати, що послідовність зростає. Тоді якщо зустрінемо не зростання, змінимо це значення на протилежне.
- Вводимо n – кількість чисел, що будемо вводити.
- До початку циклу вводимо перше число у змінну a1. Воно буде «попереднім». Його будемо порівнювати з «наступним» a2.
- Оскільки перше число введено, то заголовок циклу буде від 2. У у циклі будемо виконувати такі дії:
- Вводимо «наступне» число у змінну a2.
- Будемо шукати незростання. Тобто, якщо умова зростання це а1 < a2, то умова незростання це !(а1 < a2).
Тобто ми шукаємо такі числа, які відповідають протилежній умові. Тут зручно використовувати префікс не (!).
Якщо знайдемо такі числа, то змінюємо значення змінної на f=false.
У протилежному випадку нічого не робимо, тобто значення f не змінюється.
- Введене число a2 на цьому витку циклу є «наступним». На наступному витку циклу воно буде «попереднім».
Тому перед переходом на наступний виток циклу потрібно виконати оператор a1=a2.
- Коли цикл закінчиться, тобто будуть введені всі n чисел, значення змінної f (ознаки) або залишиться початковим true
(якщо завжди було a2>a1), або зміниться на false (якщо хоча б один раз було a2<=a1).
- Після завершення циклу потрібно перевірити значення змінної f.
- Якщо f=false, то надрукувати no.
- Якщо f=true, то надрукувати yes.
#include <iostream>
using namespace std;
int main()
{
int i, n, a1, a2; // Оголошення змінних: i - лічильник, n - кількість елементів, a1 та a2 - попередній та поточний елементи
bool f = true; // Прапорець для перевірки умови
cin >> n >> a1; // Введення кількості елементів та першого елемента
for (i = 2; i <= n; i++) // Цикл для введення та перевірки наступних елементів
{
cin >> a2;
if (!(a2 > a1)) // Перевірка, чи поточний елемент більший за попередній
{
f = false; // Якщо умова не виконується, встановлюємо прапорець у false
}
a1 = a2; // Оновлення попереднього елемента
}
if (f) // Виведення результату на основі прапорця
{
cout << "yes";
}
else
{
cout << "no";
}
return 0; // Завершення програми
}
Пояснення до коду:
- Мета програми: Перевірити, чи всі елементи послідовності строго зростають.
- Змінні:
n - кількість елементів у послідовності.
a1, a2 - попередній та поточний елементи для порівняння.
f - прапорець, який вказує, чи виконується умова зростання.
- Логіка роботи: Програма зчитує послідовність чисел і перевіряє, чи кожен наступний елемент більший за попередній. Якщо умова порушується хоча б раз, виводиться "no", інакше - "yes".
Запис складних умов
Дуже часто викликає труднощі запис умови, що щось порушує.
Запишемо порушення умови того, що однозначні і двозначні числа йдуть по черзі.
Найпростіше такі умови записувати з запереченням.
Тобто записуємо умову, для якої вивели б «так», беремо її в дужки і ставимо перед дужками знак заперечення (!)
Спочатку запишемо умову того, що однозначні і двозначні числа йдуть по черзі. Можливі два варіанти:
- Попереднє однозначне, а наступне двозначне
a1 / 10 == 0 && a2 / 100 == 0 && a2 / 10! = 0
|
- Або навпаки: попереднє двухзначное, а наступне однозначне
a1 / 100 == 0 && a1 / 10! = 0 && a2 / 10 == 0
|
Повна умова того, що однозначні і двозначні числа йдуть по черзі:
(a1 / 10 == 0 && a2 / 100 == 0 && a2 / 10! = 0 ||
a1 / 100 == 0 && a1 / 10! = 0 && a2 / 10 == 0)
|
Порушення цієї умови:
(!(a1 / 10 == 0 && a2 / 100 == 0 && a2 / 10! = 0 ||
a1 / 100 == 0 && a1 / 10! = 0 && a2 / 10 == 0))
|
Зверніть увагу на дужки: прості умови в дужки не беруться, тому що логічна операція && виконується раніше, ніж логічна операція ||.
Але все умова береться в дужки (), тому що заперечення (!)
відноситься до всеї складної умові.
Зовнішні дужки () відносяться до синтаксису оператора if
Приклад 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
|
Змінні:
Вхідні:
- n – кількість чисел (цілого типу)
- a0 – перше число (цілого типу)
- a1 – «попереднє» число (цілого типу)
- a2 – «наступне число» (цілого типу)
Вихідні:
- f – ознака (логічного типу). Якщо значення цієї змінної дорівнює true, то послідовність чисел є зростаючою арифметичною прогресією, якщо значення цієї змінної буде false, то ні.
Проміжні:
- i – параметр циклу (цілого типу)
- p1 – різниця між „другим” та „першим” числами (цілого типу, бо числа цілі)
- p2 – різниця між „наступним” та „попереднім” числами (цілого типу, бо числа цілі)
Алгоритм
- Вводимо n – кількість чисел, що будемо вводити.
- Вводимо перше число у змінну a0, а друге число у змінну a1 (воно буде „попереднім”).
- Знайдемо різницю між другим та першим числом: p1=a1-a0.
- Тепер потрібно присвоїти початкове значення ознаці f.
Якщо p1>0, то f=true, тобто будемо вважати, що послідовність зростає і є арифметичною прогресією.
Якщо p1<0, то f=false, бо послідовність вже не є зростаючою.
- Оскільки введено вже два числа, то заголовок циклу має бути від 3.
У фігурних дужках будемо виконувати такі дії:
- Вводимо „наступне” число у змінну a2.
- Знайдемо різницю між „наступним” та „попереднім” числами оператором p2=a2-a1.
- Будемо шукати порушення того, що ці числа утворюють зростаючу арифметичну послідовність.
Тобто якщо обчислена різниця між „наступним” та „попереднім” числами p2 не співпадає з різницею між „першим”
та „другим” числами p1, то змінюємо значення змінної на f=false.
У протилежному випадку нічого не робимо, тобто значення f не змінюється.
- Введене число a2 на цьому витку циклу є «наступним». На наступному витку циклу воно буде «попереднім».
Тому перед переходом на наступний виток циклу потрібно виконати оператор a1=a2.
- Коли цикл закінчиться, тобто будуть введені всі n чисел, значення змінної f (ознаки) або залишиться початковим true
(якщо завжди було p2=p1), або зміниться на false (якщо хоча б один раз було p2!=p1).
- Після завершення циклу потрібно перевірити значення змінної f.
- Якщо f=false, то надрукувати no.
- Якщо f=true, то надрукувати yes.
#include <iostream>
using namespace std;
int main()
{
int i,n,a0,a1,a2,p1,p2; bool f;
cin>>n>>a0>>a1;
p1=a1-a0;
if (p1>0){f=true;}else {f=false;}
for (i=3;i<=n;i++)
{
cin>>a2;
p2=a2-a1;
if (p2!=p1){f=false;}
a1=a2;
}
if (f)(cout<<"yes";)
else (cout<<"no";)
return 0;
}
Пояснення коду:
- int i,n,a0,a1,a2,p1,p2; bool f; - оголошення змінних:
- i - лічильник циклу.
- n - кількість елементів послідовності.
- a0, a1, a2 - елементи послідовності.
- p1, p2 - різниця між елементами послідовності.
- f - прапорець, який вказує, чи є послідовність арифметичною прогресією.
- cin>>n>>a0>>a1; - введення кількості елементів та перших двох елементів послідовності.
- p1=a1-a0; - обчислення різниці між першими двома елементами.
- if (p1>0){f=true;}else {f=false;} - встановлення прапорця f в залежності від значення p1.
- for (i=3;i<=n;i++) - цикл для введення та перевірки наступних елементів послідовності.
- cin>>a2; p2=a2-a1; - введення наступного елемента та обчислення різниці.
- if (p2!=p1){f=false;} - якщо різниця не співпадає з попередньою, послідовність не є арифметичною прогресією.
- a1=a2; - оновлення значення a1 для наступної ітерації.
- if (f)(cout<<"yes";) else (cout<<"no";) - виведення результату перевірки.
- return 0; - завершення програми.
Приклад 3
Дано n цілих чисел. Визначте максимальну кількість 0, що йдуть підряд.
У цій програмі будемо рахувати нулі, що йдуть підряд та знаходити максимальне значення серед цих лічильників.
Результат роботи програми
| Ввід | Вивід | Пояснення |
7 2 0 0 8 0 0 0 | 3 | 7 це кількість чисел.
В першій групі 2 нулі, у другій групі 3 нулі, тому відповідь 3.
|
Змінні:
Вхідні:
- n – кількість чисел (цілого типу)
- a – число (цілого типу, за умовою)
Вихідні:
- max–максимальна кількість нулів, що введені підряд (цілого типу, тому що числа k цілі).
Проміжні:
- i – параметр циклу (цілого типу)
- k– лічильник нулів, що йдуть підряд (цілого типу).
Алгоритм
- Спочатку потрібно ввести кількість чисел .
- Потім потрібно встановити початкове значення змінній max=0, тобто вважаємо що нулів немає.
- Встановлюємо початкове значення лічильника нулів k=0.
- У циклі будемо виконувати такі дії:
- Вводити наступне число у змінну a.
- Якщо введене число 0, то:
- Збільшуємо лічильник нулів k=k+1
- Якщо цей лічильник k>max, то запам’ятовуємо його значення max=k
- Якщо введено число не 0, встановлюємо значення лічильника у нуль k=0
-
Коли цикл закінчиться, тобто будуть введені всі n чисел, у змінній max буде максимальне значення серед лічильників нулів k.
Це число виводиться на екран.
#include <iostream>
using namespace std;
int main()
{
int i,n,a,k,max;
cin>>n;
max=0; k=0;
for (i=1;i<=n;i++)
{
cin>>a;
if (a==0)
{
k++;
if (k>max) {max=k;}
}
else {k=0;}
}
cout<<max;
return 0;
}
Пояснення коду:
- int i,n,a,k,max; - оголошення змінних:
- i - лічильник циклу.
- n - кількість елементів послідовності.
- a - поточний елемент послідовності.
- k - лічильник поточних нулів підряд.
- max - максимальна кількість нулів підряд.
- cin>>n; - введення кількості елементів послідовності.
- max=0; k=0; - ініціалізація змінних перед початком циклу.
- for (i=1;i<=n;i++) - цикл для обробки кожного елемента послідовності.
- cin>>a; - введення поточного елемента.
- if (a==0) - перевірка, чи поточний елемент дорівнює нулю.
- k++; - збільшення лічильника поточних нулів.
- if (k>max) {max=k;} - оновлення максимальної кількості нулів, якщо поточна кількість більша.
- else {k=0;} - якщо елемент не нуль, скидання лічильника поточних нулів.
- cout<<max; - виведення максимальної кількості нулів, що йдуть підряд.
- return 0; - завершення програми.
Варіанти задач
Варіант 1
- Отримайте випадковим чином n цілих чисел з інтервалу [-10; 10]. Чи є серед цих чисел два числа, що розташовані поруч та мають однакові знаки (обидва додатні чи обидва від’ємні)? Відповідь „yes” чи „no”.
- Введіть з клавіатури n цілих чисел. Чи є ця послідовність спадаючою? Відповідь „yes” чи „no”.
Варіант 2
- Отримайте випадковим чином n цілих чисел з інтервалу [-10; 10]. Чи є серед цих чисел два парних числа, що розташовані поруч? Відповідь „yes” чи „no”.
- Введіть з клавіатури n цілих чисел. Чи є ця послідовність спадаючою арифметичною прогресією? Відповідь „yes” чи „no”.
Варіант 3
- Отримайте випадковим чином n цілих чисел з інтервалу [10; 30]. Чи є серед цих чисел два числа, що розташовані поруч та обидва закінчуються цифрою 0? Відповідь „yes” чи „no”.
- Введіть з клавіатури n цілих чисел. З’ясуйте, чи є ця послідовність знакозмінною, тобто такою, в якій два сусідніх числа мають різні знаки, тобто додатні та від’ємні числа ідуть по черзі. Відповідь „yes” чи „no”.
Варіант 4
- Отримайте випадковим чином n цілих чисел з інтервалу [10; 20]. Чи є серед цих чисел два числа, що розташовані поруч та обидва закінчуються цифрою 1? Відповідь „yes” чи „no”.
- Введіть з клавіатури n цілих чисел.
З’ясуйте, чи є ця послідовність такою, в якій два сусідніх числа мають різну парність, тобто парні та непарні числа ідуть по черзі. Відповідь „yes” чи „no”.
Варіант 5
- Отримайте випадковим чином n цілих чисел з інтервалу [20; 40]. Чи є серед цих чисел два числа, що розташовані поруч та обидва закінчуються цифрою 3? Відповідь „yes” чи „no”.
- Введіть з клавіатури n цілих чисел. З’ясуйте, чи є ця послідовність такою, в якій числа, що кратні 3 та що не кратні 3 ідуть по черзі. Відповідь „yes” чи „no”.
Варіант 6
- Отримайте випадковим чином n цілих чисел з інтервалу [10; 40]. Чи є серед цих чисел два числа, що розташовані поруч та обидва закінчуються цифрою 5? Відповідь „yes” чи „no”.
- Введіть з клавіатури n цілих чисел. З’ясуйте, чи є ця послідовність такою, в якій числа, що кратні 5 та що не кратні 5 ідуть по черзі. Відповідь „yes” чи „no”.
Варіант 7
- Отримайте випадковим чином n цілих чисел з інтервалу [10; 30]. Чи є серед цих чисел два числа, що розташовані поруч та обидва кратні 5? Відповідь „yes” чи „no”.
- Введіть з клавіатури n цілих чисел. З’ясуйте, чи є ця послідовність такою, в якій числа, що закінчуються на 0 та що не закінчуються на 0 ідуть по черзі. Відповідь „yes” чи „no”.
Варіант 8
- Отримайте випадковим чином n цілих чисел з інтервалу [-1; 1]. Чи є серед цих чисел два числа, що розташовані поруч та обидва =0? Відповідь „yes” чи „no”.
- Введіть з клавіатури n цілих чисел. З’ясуйте, чи є ця послідовність такою, в якій числа, що закінчуються на 1 та що не закінчуються на 1 ідуть по черзі. Відповідь „yes” чи „no”.
Варіант 9
- Отримайте випадковим чином n цілих чисел з інтервалу [10; 20]. Чи є серед цих чисел два числа, що розташовані поруч та мають різну парність (одне парне, інше непарне)? Відповідь „yes” чи „no”.
- Введіть з клавіатури n цілих чисел. З’ясуйте, чи є ця послідовність такою, в якій по черзі ідуть однозначні та двозначні числа. Відповідь „yes” чи „no”.
Варіант 10
- Отримайте випадковим чином n цілих чисел з інтервалу [20; 40]. Чи є серед цих чисел два числа, що розташовані поруч та мають різну кратність 3 (одне кратне 3, інше не кратне 3)? Відповідь „yes” чи „no”.
- Введіть з клавіатури n цілих чисел. З’ясуйте, чи є ця послідовність такою, в якій по черзі ідуть числа, що закінчуються на 0 та що закінчуються на 1. Відповідь „yes” чи „no”.
Варіант 11
- Отримайте випадковим чином n цілих чисел з інтервалу [30; 50]. Чи є серед цих чисел два числа, що розташовані поруч та мають різну кратність 7 (одне кратне 7, інше не кратне 7)? Відповідь „yes” чи „no”.
- Введіть з клавіатури n цілих чисел. З’ясуйте, чи є ця послідовність такою, в якій по черзі ідуть числа, що закінчуються на 3 та що закінчуються на 5. Відповідь „yes” чи „no”.
Варіант 12
- Отримайте випадковим чином n цілих чисел з інтервалу [10; 30]. Чи є серед цих чисел два числа, що розташовані поруч та одне з них закінчуються цифрою 5, а інше ні? Відповідь „yes” чи „no”.
- Введіть з клавіатури n цілих чисел. З’ясуйте, чи є ця послідовність такою, в якій по черзі ідуть однозначні та не однозначні числа. Відповідь „yes” чи „no”.
Варіант 13
- Отримайте випадковим чином n цілих чисел з інтервалу [0; 20]. Чи є серед цих чисел два однозначних числа, що розташовані поруч? Відповідь „yes” чи „no”.
- Введіть з клавіатури n цілих чисел. Чи є ця послідовність зростаючою геометричною прогресією? Відповідь „yes” чи „no”.
Варіант 14
- Отримайте випадковим чином n цілих чисел з інтервалу [-20; 20]. Чи є серед цих чисел два двозначних числа, що розташовані поруч? Відповідь „yes” чи „no”.
- Введіть з клавіатури n цілих чисел. Чи є ця послідовність спадаючою геометричною прогресією? Відповідь „yes” чи „no”.
Варіант 15
- Отримайте випадковим чином n цілих чисел з інтервалу [50; 200]. Чи є серед цих чисел два тризначних числа, що розташовані поруч? Відповідь „yes” чи „no”.
- Введіть з клавіатури n цілих чисел. Чи є ця послідовність арифметичною прогресією (спадаючою чи зростаючою)? Відповідь „yes” чи „no”.
Варіант 16
- Отримайте випадковим чином n цілих чисел з інтервалу [-10; 20]. Чи є серед цих чисел два числа, що розташовані поруч та одне з них однозначне, а інше ні? Відповідь „yes” чи „no”.
- Введіть з клавіатури n цілих чисел. Чи є ця послідовність геометричною прогресією (спадаючою чи зростаючою)? Відповідь „yes” чи „no”.
Варіант 17
- Отримайте випадковим чином n цілих чисел з інтервалу [-10; 20]. Чи є серед цих чисел два числа, що розташовані поруч та одне з них однозначне, а інше двозначне? Відповідь „yes” чи „no”.
- Введіть з клавіатури n цілих чисел. З’ясуйте, чи є ця послідовність такою, в якій по черзі ідуть двозначні та тризначні числа. Відповідь „yes” чи „no”.
Назад
Зміст
Вперед