Тема 9
Цикл з лічильником. Вкладені цикли
Теоретична частина
При розв’язанні деяких задач необхідно у
тілі циклу робити допоміжні обчислення або перевірки. Інколи для їх здійснення
достатньо зробити арифметичну дію, а в інших випадках потрібно застосувати ще
один цикл, який називаються вкладений.
Розглянемо кілька прикладів.
Приклад 1. По даному дійсному числу а та натуральному n потрібно обчислити значення суми 1+а+а2+а3+…+аn. У першому рядку
дано дійсне число а, а в другому – натуральне число n. Вивести значення суми.
Вхід
Вихід
0.5
1.875
3
a=float(input())
n=int(input())
s=1
p=a
for i in range(1,n+1):
p=p*i
s=s+p
print(s)
Ще один варіант розв’язку:
a=float(input())
n=int(input())
s=0
for i in
range(n+1):
s+=a**i # те саме що s=s+a**i
print(s)
Приклад 2.
Дано натуральне
число n. У
наступних n рядках дано по одному цілому числу.
Виведіть кількість серед цих чисел кратних 3.
Вхід
Вихід
4
2
12
-4
0
20
n=int(input()) # зчитуємо кількість чисел
k=0 # початкова відповідь 0
for i in range(n): # повторюємо дії n раз
a=int(input()) # зчитуємо наступне
число
if a%3==0: # перевіряємо
подільність числа на 3
k+=1 # збільшуємо відповідь на 1
print(k) # виводимо
відповідь
У наступному прикладі використовується вкладений цикл з параметром j, який змінюється в залежності
від параметра і у зовнішньому циклі.
Приклад 3.
Дано натуральне
число n (n≤9).
Вивести числові східці, у якій і-ий рядок складається із чисел від
1 до і.
Вхід
Вихід
4
1
12
123
1234
n=int(input())
for i in range(1,n+1):
for j in range(1,i+1):
print(j, end=’’)
print()
У наступному прикладі використовується
потрійний цикл.
Приклад 4.
Дано натуральне
число n (n≤100).
Вивести всі різні піфагорові трійки у порядку зростання чисел, що не
перевищують числа n.
Натуральні числа a, b і c, що задовольняють умову a2+b2=c2,
називають піфагоровими. Наприклад, 3,4 і 5 є піфагоровою трійкою, бо 32+42=52.
Вхід
Вихід
10 3 4 5
6 8 10
n=int(input())
for a in range(1,n+1):
for b in range(a,n+1):
for c in range(b,n+1):
if a**2+b**2==c**2:
print(a,b,c)
Практична частина
Завдання 9.1. Дано
натуральне число n. У наступних n
рядках дано по одному цілому числу. Виведіть кількість додатних серед цих
чисел.
Вхід
Вихід
4
2
12
-4
0
20
Завдання 9.2. Дано
натуральне число n. У наступних n
рядках дано по одному цілому числу. Виведіть у одному рядку три цілих числа:
кількість додатних чисел, кількість від’ємних чисел, кількість нулів.
Вхід
Вихід
4
2 1 1
12
-4
0
20
Завдання 9.3. Дано
натуральне число n (0<n<10^6). Виведіть у один рядок всі дільники цього числа у
порядку зростання.
Вхід
Вихід
6
1 2 3 6
Завдання 9.4. Дано
натуральне число n (0<n<=10^6). Виведіть кількість дільників цього числа.
Вхід
Вихід
12 6
Завдання 9.5. Дано натуральне число n (10^6<=n<=10^12). Виведіть кількість дільників цього числа.
Вхід Вихід
1000005 16
Завдання 9.6. Дано натуральне
число n (0<n<=10^6). Виведіть
YES,
якщо воно просте, і NO,
якщо воно складене.
Вхід
Вихід
13 YES
Завдання 9.7. Розв'яжіть попередню задачу, якщо вхідні дані не перевищують 10^12 (1000000000000).
Завдання 9.8. Знайдіть всі натуральні розв’язки рівняння ax+by=c. В одному рядку дані три натуральних числа a, b, c, що не перевищують 1000. Виведіть у порядку зростання першого кореня по два натуральних числа у кожен рядок – розв’язки даного рівняння. Якщо розв’язків немає, то нічого виводити не потрібно.
Завдання 9.8. Знайдіть всі натуральні розв’язки рівняння ax+by=c. В одному рядку дані три натуральних числа a, b, c, що не перевищують 1000. Виведіть у порядку зростання першого кореня по два натуральних числа у кожен рядок – розв’язки даного рівняння. Якщо розв’язків немає, то нічого виводити не потрібно.
Вхід
Вихід
3 2 36
2 15
4
12
6
9
8 6
10 3
8 6
10 3
Завдання 9.9. Розв’яжіть попередню задачу, якщо вхідні дані не
перевищують 1000000.
Завдання 9.10. В одному рядку дано натуральні числа a і b (0<a<b<=10000). Вивести у одному рядку через пропуск у порядку
зростання всі прості числа від a до b включно.
Вхід
Вихід
10 20 11
13 17 19
Немає коментарів:
Дописати коментар