top of page


Вложенные циклы
 

Задача 1. Наименьший делитель

На вход программе подается число n. Напишите программу, которая выводит его наименьший отличный от 1 делитель.

n = int(input())

     for i in range(2, n + 1):

          if n % i == 0: 

             break 

print(i)

 

Задача 2. Следуй правилам

На вход программе подается натуральное число n. Напишите программу, которая выводит числа от 11 до n включительно за исключением:

чисел от 55 до 99 включительно;

чисел от 1717 до 3737 включительно;

чисел от 7878 до 8787 включительно.

 

a=int(input())

       for i in range (1, a+1):

           if i in range (5,10) or i in range (17,38) or i in range (78,88):

                continue

print (i)

 

 

Задача 3. Таблица-1

Дано натуральное число n Напишите программу, которая печатает таблицу размером  n×3n×3, состоящую из данного числа (числа отделены одним пробелом).

a=int(input())

for i in range (1):

      for j in range (a):

          print(a,a,a)

 

 

Задача 4. Таблица-2

Дано натуральное число n Напишите программу, которая печатает таблицу размером n×5n×5, где в  i-ой строке указано число i (числа отделены одним пробелом).

a=int(input())

for i in range(1,a+1):

       for j in range (5):

          print (i, end=' ')

print()

 

Задача 5. Таблица-3

Дано натуральное число n . Напишите программу, которая печатает таблицу сложения для всех чисел от 11 до n (включительно).

a=int(input())

for i in range(1,a+1):

          for j in range (1,9+1):

print (i, "+", j, "=", i+j )

print()

 

Задача 6. Звездный треугольник 

Дано нечетное натуральное число n. Напишите программу, которая печатает равнобедренный звездный треугольник с основанием, равным n :

n = int(input())

centr = n // 2 + 1

count = 0

for i in range(1, n + 1):

         if i > centr:

             count -= 1

          else:

              count += 1

for _ in range(count):

      print('*', end='')

      print()

 

Задача 7. Численный треугольник

Дано натуральное число n. Напишите программу, которая печатает численный треугольник

n = int(input())

for i in range(1, n + 1):

       for j in range(i):

         print(i, end='')

         print()

 

 

Задача 8. Старинная задача

Имеется 100100 рублей. Сколько быков, коров и телят можно купить на все эти деньги, если плата за быка – 1010 рублей, за корову – 55 рублей, за теленка – 0.50.5 рубля и надо купить 100100 голов скота?

for b in range (1, 100//10+1):    

      for k in range(1, 100//5+1):        

           t = 100-b-k        

           if b*10+k*5+t*0.5 == 100:            

                 print("быки:", b, "коровы:", k, "телята:", t);

 

Задача 9.Гипотеза Эйлера о сумме степеней 

В 17691769 году Леонард Эйлер сформулировал обобщенную версию Великой теоремы Ферма, предполагая, что по крайней мере n энных степеней необходимо для получения суммы, которая сама является энной степенью для n>2n>2. Напишите программу для опровержения гипотезы Эйлера (продержавшейся до 19671967 года) и найдите четыре положительных целых числа, сумма 55-х степеней которых равна 55-й степени другого положительного целого числа.

 

p = [x ** 5 for x in range(151)]

pw = set(p)

for a in range(1, 151):    

     for b in range(a, 151):        

        for c in range(b, 151):            

           for d in range(c, 151):                

                 s = p[a] + p[b] + p[c] + p[d]                

                 if s in pw:                    

                    print(a, b, c, d, p.index(s))                    

                    print(a + b + c + d + p.index(s))

 

Задача 10.Численный треугольник 2

Дано натуральное число n. Напишите программу, которая печатает численный треугольник с высотой равной n.

a=int(input())

k=0

for i in range(1,a+1):

      for j in range (i):

          k+=1

print (k, end=' ')

print()

 

Задача11.Численный треугольник 3

Дано натуральное число n. Напишите программу, которая печатает численный треугольник с высотой равной n.

a=int(input())

k=0

for i in range(1,a+1):

    for j in range (i):

print (j+1, end='')

for k in range (i-1,0,-1):

      print (k, end='')

print()

 

Задача 12.Делители-1 

На вход программе подается два натуральных числа a и b Напишите программу, которая находит натуральное число из отрезка [a;b] с максимальной суммой делителей и сумму его делителей. Если таких чисел несколько, то выведите наибольшее из них.

a , b = int(input()), int(input())

total_maximum = 0                   

digit = 0                           

for i in range(a, b + 1):            

      maximum = 0                     

           for j in range(1, i + 1):        

              if i % j == 0:              

                  maximum += j            

             if maximum >= total_maximum: 

                 total_maximum = maximum  

                 digit = j

 

Задача 13.Делители-2

На вход программе подается натуральное число n. Напишите программу, выводящую графическое изображение делимости чисел от 11 до n включительно. В каждой строке надо напечатать очередное число и столько символов «+», сколько делителей у этого числа.

n=int(input())

for i in range (1, n+1):

        print (i,end='')

       for j in range (1, i+1):

            if i%j==0:

                   print ("+", end='')

                   print()

 

Задача 14.Цифровой корень

На вход программе подается натуральное число n. Напишите программу, которая находит цифровой корень данного числа. Цифровой корень числа n получается следующим образом: если сложить все цифры этого числа, затем все цифры найденной суммы и повторять этот процесс до тех пор, пока в результате не будет получено однозначное число (цифра), которое и называется цифровым корнем изначального числа.

n=int(input())    

while n > 9:               

      s = 0   

   while (n > 0):

       last_digit = n % 10 

       s += last_digit     

       n = n // 10        

       n = s

print(n)

 

Задача 15.Сумма факториалов

Дано натуральное число n. Напишите программу, которая выводит значение суммы 1!+2!+3!+…+!1!+2!+3!+…+n!.

n = int(input())          

sum = 0                   

factorial = 1               

for i in range(1, n+1):   

      for j in range(1, i+1): 

         factorial *= j      

         sum += factorial      

         factorial = 1           

print(sum)

 

Задача 16.Простые числа

На вход программе подается два натуральных числа a и b. Напишите программу, которая находит все простые числа от a до b включительно.

a, b, = int(input()), int(input())

for i in range(a, b + 1):

      if i == 1:              

      continue             

   for j in range(2, i):   

        if i % j == 0:       

           break            

        else:

print(i)

 

Задача 17.Звездная рамка

На вход программе подается натуральное число n. Напишите программу, которая печатает звездную рамку размерами n×19n×19.

n=int(input())

for i in range (1, n+1):

      if i==1 or i ==n:

          print ("*"*19)

      else:

          print ("*" + " " * 17 + "*")

 

Задача 18.Все вместе 2

Дано натуральное число. Напишите программу, которая вычисляет:

< >количество цифр 33 в нем;сколько раз в нем встречается последняя цифра;количество четных цифр;сумму его цифр, больших пяти;произведение цифр, больших семи (если цифр больших семи нет, то вывести 11, если такая цифра одна, то вывести ее);сколько раз в нем встречаются цифры 00 и 55 (всего суммарно). 

num = int(input())

cifra3=0

posl_cifra=num%10

count_posl_cifra=0

count_chet_cifr=0

sum_cifr5=0

proiz_cifr7=1

count_0_5=0

while num!=0:

   last_digit = num % 10

   if last_digit==3:

         cifra3+=1

   if last_digit==posl_cifra:

         count_posl_cifra+=1

   if last_digit%2==0:

         count_chet_cifr+=1

   if last_digit>5:

         sum_cifr5+=last_digit

   if last_digit>7:

        proiz_cifr7*=last_digit

   if last_digit==0 or last_digit==5:

       count_0_5+=1

       num = num // 10

print(cifra3)

print(count_posl_cifra)

print(count_chet_cifr)

print(sum_cifr5)

print(proiz_cifr7)

print(count_0_5)

bottom of page