Циклы «for» и «while». Вложенные циклы. Часть 1
Вложенные циклы
Установите в каком порядке, указанный вложенный цикл выведет пары чисел (i, j):
for i in range(1, 4): for j in range(3, 6): print(i, j)
Ответ: 1 3; 1 4; 1 5; 2 3; 2 4; 2 5; 3 3; 3 4; 3 5
Что покажет приведенный ниже фрагмент кода?:
for i in range(1, 4): for j in range(3, 5): print(i + j, end='')
Ответ: 455667
Что покажет приведенный ниже фрагмент кода?:
counter = 0
for i in range(99, 102): temp = i while temp > 0: counter += 1 temp //= 10
print(counter)
Ответ: 8
Дано натуральное число n (n ≤ 9)). Напишите программу, которая печатает таблицу размером n × 3, состоящую из данного числа (числа отделены одним пробелом).
a = int(input()) for i in range(a): for j in range(3): print(a, end=' ') print()
Дано натуральное число n (n ≤ 9). Напишите программу, которая печатает таблицу размером n × 5, где в i-ой строке указано число i (числа отделены одним пробелом).
a = int(input()) for i in range(1,a + 1): for _ in range(5): print(i, end=' ') print()
Дано натуральное число n (n ≤ 9). Напишите программу, которая печатает таблицу сложения для всех чисел от 1 до n (включительно) в соответствии с примером.
a = int(input()) for i in range(1, a + 1): for j in range(1, 10): s = i + j print(i, '+', j, '=', s) print()
Дано нечетное натуральное число n. Напишите программу, которая печатает равнобедренный звездный треугольник с основанием, равным n.
a = int(input()) s = a // 2 + 1 for i in range(s): for j in range(i + 1): print('*', end='') print() for i in range(s): for j in range((s-1)-i): print('*', end='') print()
Дано натуральное число n. Напишите программу, которая печатает численный треугольник в соответствии с примером:
1 22 333 4444 55555 ...
a = int(input()) for i in range(1, a+1): for _ in range(i): print(i, end='') print()
Решите уравнение в натуральных числах 28n + 30k + 31m = 365.
for i in range(1, 14): for j in range(1, 13): for k in range(1, 12): if 28 * i + 30 * j + 31 * k == 365: print("Натуральные решения уравнения:", "i =", i, "j =", j, "k =", k)
Ответ: n =1; k =4; m =7 или n =2; k = 1; m =9
Имеется 100 рублей. Сколько быков, коров и телят можно купить на все эти деньги, если плата за быка – 10 рублей, за корову – 5 рублей, за теленка – 0.5 рубля и надо купить 100 голов скота?
Ответ: Количество быков:1; Количество коров:9; Количество телят:90
for i in range(1, 10): for j in range(1, 20): for k in range(1, 200): if 10 * i + 5 * j + (5 * k)/10 == 100 and (i + j + k) == 100: print('i =', i, 'j =', j, 'k =', k)
В 1769 году Леонард Эйлер сформулировал обобщенную версию Великой теоремы Ферма, предполагая, что по крайней мере n энных степеней необходимо для получения суммы, которая сама является энной степенью для n > 2. Напишите программу для опровержения гипотезы Эйлера (продержавшейся до 1967 года) и найдите четыре положительных целых числа, сумма 5-х степеней которых равна 5-й степени другого положительного целого числа.
Ответ: 498
for a in range(1, 151): for b in range(a, 151): for c in range(b, 151): for d in range(c, 151): sum = a ** 5 + b ** 5 + c ** 5 + d ** 5 e = int(sum ** (1/5)) if sum == e ** 5: print(a, b, c, d, e) print(a + b + c + d + e) break