1

Тема: Скласти програму для обчислення 1 + 1/2 +. . . + 1/n > а

Маємо дійсне число a. Скласти програму для обчислення: такого найменшого n, що   1 + 1/2 +. . . + 1/n > а.
Можете будь-ласка допомогти мені з цією программою? Я не дуже зрозуміла як працюють цикли while. Буду дуже вдячна.

2 Востаннє редагувалося Eff1c (22.09.2019 22:16:44)

Re: Скласти програму для обчислення 1 + 1/2 +. . . + 1/n > а

alinabelayaa написав:

Я не дуже зрозуміла як працюють цикли while.

While - цикл, який виконується доки умова дійсна
Для прикладу

k = 0
while k < 10:
    k += 1
    print(k)

В нас є число k, яке дорівнює 0
Дивимось на умову циклу while - k < 10
На даний момент k у нас = 0 (0 < 10), тому тіло циклу виконується.

Прихований текст

Тіло циклу це

    k += 1
    print(k)

І так іде перша ітерація циклу
До k додається 1 і значення k виводиться
Далі компілятор знову перевіряє чи виконується умова циклу.
k у нас = 1, 1 менше ніж 10, тому знову виконується тіло циклу
І так далі, поки k не буде = 10.

3

Re: Скласти програму для обчислення 1 + 1/2 +. . . + 1/n > а

Вам ще знадобиться друга змінна - акумулятор, в якій буде накопичуватися значення суми: в першій ітерації - 1, в другій треба буде додати 1/2, в третій - 1/3 і т.д. Умова циклу - сума менша за a.

4

Re: Скласти програму для обчислення 1 + 1/2 +. . . + 1/n > а

а шо, в пайтоні не можна згенерувати масив потрібної довжини, а потім використати reduce, як то можна в js?   *NO*  8)

5 Востаннє редагувалося ping (23.09.2019 10:09:01)

Re: Скласти програму для обчислення 1 + 1/2 +. . . + 1/n > а

FakiNyan написав:

а шо, в пайтоні не можна згенерувати масив потрібної довжини, а потім використати reduce, як то можна в js?   *NO*  8)

щось не зрозумів ідею - яка довжина вважається потрібною?

6

Re: Скласти програму для обчислення 1 + 1/2 +. . . + 1/n > а

alinabelayaa написав:

Маємо дійсне число a. Скласти програму для обчислення: такого найменшого n, що   1 + 1/2 +. . . + 1/n > а.
Можете будь-ласка допомогти мені з цією программою? Я не дуже зрозуміла як працюють цикли while. Буду дуже вдячна.

уточніть , що до яких чисел належить n, бо у мене сумніви, що ця задача взагалі має рішення, якщо n - теж дійсне число

7

Re: Скласти програму для обчислення 1 + 1/2 +. . . + 1/n > а

Очевидно, мається на увазі, що n - натуральне. Інакше зовсім не зрозуміло, як будувати вираз  1 + 1/2 +. . . + 1/n.

8

Re: Скласти програму для обчислення 1 + 1/2 +. . . + 1/n > а

FakiNyan написав:

а шо, в пайтоні не можна згенерувати масив потрібної довжини, а потім використати reduce, як то можна в js?   *NO*  8)

Можна, і можна навіть не масив, а лише ітератор, але нащо початківця плутати?

Подякували: FakiNyan1

9

Re: Скласти програму для обчислення 1 + 1/2 +. . . + 1/n > а

FakiNyan написав:

а шо, в пайтоні не можна згенерувати масив потрібної довжини, а потім використати reduce, як то можна в js?   *NO*  8)

Генерувати масив, коли його можна не генерувати - це не добре.

10 Востаннє редагувалося koala (23.09.2019 13:58:20)

Re: Скласти програму для обчислення 1 + 1/2 +. . . + 1/n > а

І так, якщо цікаво - n(a) ~ k*ea (ліньки зараз розбиратися, який там коефіцієнт). На a=32 матимете 4.6E13 доданків. Скільки, кажете, у вас терабайтів ОЗП?