Вложенные циклы: решение Д/З
Домашние задания не сделал никто, мы их разобрали в классе и теперь частично повторяем. Новых тем, соответственно, не было.
Решение ДЗ 1/2
Ввести последовательность натуральных чисел, заканчивающуюся нулём. Посчитать сумму всех цифр в последовательности.
Напишем кусок кода, который считает сумму цифр в одном числе. Самый простой способ: брать остаток от деления числа на 10, делить число нацело на 10, прибавлять остаток от деления на 10 результата и так до момента, когда число станет == 0
Осталось задать цикл по вводу, и решение готово
Обратите внимание на то, что во внутреннем цикле отсутствует инициализация, т. к. она совпадает с изменением внешнего цикла (ввод нового num), а переменную sum инициализировать не надо, она накапливает общую сумму.
Домашнее задание
Вводится последовательность положительных чисел, завершающаяся 0. Посчитать количество простых чисел среди них (число 1 можно считать простым). Для проверки простоты одного числа N надо найти хотя бы один его делитель в диапазоне от 2 до N1/2. Для этого достаточно написать цикл вида for(i=2; i*i<=N; i++) (т. е. квадрат предполагаемого делителя не превосходит N).
Вывести таблицу умножения «как в тетради», т. е.
1*1=1 2*1=2 3*1=3 4*1=1 1*2=2 2*2=4 3*2=6 4*2=8 1*3=3 2*3=6 3*3=9 4*3=12 ... ... ... ... 1*12=12 2*12=24 3*12=36 4*12=48 5*1=5 6*1=6 7*1=7 8*1=8 5*2=10 6*2=12 7*2=14 8*2=16 5*3=15 6*3=18 7*3=21 8*3=24 ... ... ... ... 5*12=60 6*12=72 7*12=84 8*12=96 9*1=5 10*1=10 11*1=11 12*1=12 9*2=10 10*2=20 11*2=22 12*2=24 9*3=15 10*3=30 11*3=33 12*3=36 ... ... ... ... 9*12=108 10*12=120 11*12=121 12*12=144
напоминаю, что это просто три вложенных цикла:
- по количеству «блоков» (табличек с подряд идущими колонками, их 12/4==3)
- по количеству множителей в одной колонке (12)
- по количеству колонок (4); начало и конец этого внутреннего цикла необходимо вычислять
- по количеству множителей в одной колонке (12)
- по количеству «блоков» (табличек с подряд идущими колонками, их 12/4==3)
Известно, что любое натуральное число можно представить в виде суммы не более чем четырех квадратов неотрицательных целых чисел (теорема Лагранжа). Дано натуральное n; указать такие неотрицательные целые х, у, z, t, что n = x2 + y2 + z2 + t2. Подсказка: x, y, z или t могут быть нулевыми (только не все сразу).
(на подумать) А вдруг задачу можно решить не за 4 вложенных цикла, а как-то попроще?