Циклическое выполнение команд в зависимости от свойств данных

О соотнесении рекурсии и цикла: как правило необходимости в дополнительных пространствах имён нет, достаточно просто повторять одну и ту же последовательность действий, пока не изменятся свойства обрабатываемых данных.

Цикл

Немного про форматные строки

Д/З

  1. Прочитать и прощёлкать седьмую главу учебника

  2. Вводить целые числа до тех пор, пока среди них не встретится 0, и посчитать, сколько среди них было кратных трём (0 не считается). Вывести это значение.
    • Ввод:

     1
     2
     3
     4
     3
     7
     9
     3
     7
     0
    • Вывод:

     4
  3. Ввести натуральное число N и проверить, является ли оно точным кубом некоторого натурального числа. Сравнивать вещественные числа (то есть проверять содержит ли n**(1/3) ненулевую дробную часть) запрещено.

    • Алгоритм: для всех чисел i от 1 проверять, не равно ли i**3 == N, заканчивать цикл, когда i**3 больше N
  4. Ввести натуральное N и вывести все простые числа, не превосходящие N (простыми называются числа, которые делятся только на себя и на 1)
    • Алгоритм:
        для всех i от 2 до N (1 — не считается простым)
            для всех k от 3 до i-1 (на самом деле до корня из i, ну да ладно)
                если i делится на k, оно не простое, можно больше не проверять
            если i ни на какое k не делится, оно простое, вывести
  5. Ввести натуральное N и вывести хорошо выглядящую таблицу умножения от 1 до 12
    • (упрощение для упражнения) В одну колонку, но с условием, что все сомножители и произведения стоят строго друг над другом
    • В 4 колонки
    • (усложнение) В N колонок, где N вводится