Задание 06. Составляем обратный алгоритм

Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна
 

ВАРИАНТ 1

Определите, при каком наибольшем введенном значении переменной s программа выведет число 84.

s = int (input())
n = 0
while s>=4:
    s = s - 4
    n= n - s + s%4
print  (n)

Решение и ответ
 n = 84
s = 3 # наибольший остаток при делении на 4
while n != 0:
    n = n - s + s%4
    s +=4 
print  (s,n)
Ответ: 31

ВАРИАНТ 2

Определите, при каком наибольшем введенном значении переменной s программа выведет число 90.

s = int (input())
n = 0
while s >= 6:
    s = s - 4
    n= n - s + s%6
print  (n)

Решение и ответ
n = 90
s = 5   # наибольший остаток при делении на 6
while n !=0:
     n = n - s + s%6
     s += 6
print  (s,n)
Ответ: 41

ВАРИАНТ 3

Определите, при каком наибольшем введенном значении переменной s программа выведет число 512.

s = int (input())
n =1
while s >= 20:
    s = s - 20
    n= n * 2
print  (n)

Решение и ответ
n = 512
s = 19   # наибольший остаток при делении на 6
while n !=1:
     n = n / 2
     s += 20
print  (s,n)
Ответ: 199

ВАРИАНТ 4

Определите, при каком наибольшем введенном значении переменной s программа выведет число 243.

s = int (input())
n = 1
while s >= 10:
    s = s - 10
    n= n * 3
print  (n)

Решение и ответ
n = 243
s = 9 # наибольший остаток при делении на 10
while n != 1:
    n = n / 3
    s += 10 
print  (s,n)
Ответ: 59

ВАРИАНТ 5

Определите, при каком наименьшем введенном значении переменной s программа выведет число 1024.

s=int (input())
n = 1
while s * n < 4096:
    s = s  // 2
    n= n * 4
print  (n)

Решение и ответ
n = 1024
s = 4 # так как s * n = 4096, условие окончания цикла
while n != 1:
    n = n / 4
    s *= 2 
print  (s,n)
Ответ: 128

ВАРИАНТ 6

Определите, при каком наименьшем введенном значении переменной s программа выведет число 2048.

s = int (input())
n = 2
while s * n <= 4096:
    s = s // 2
    n= n * 4
print  (n)

Решение и ответ
n = 2048
s = 3 # так как s * n > 4096, условие окончания цикла
while n != 2:
    n = n / 4
    s *= 2 
print  (s,n)
Ответ: 96

ВАРИАНТ 7

Определите, при каком наибольшем введенном значении переменной s программа выведет число 12.

s= int (input ())
n=2
while s // n > 0:
    s = s - 5
    n= n + 2
print  (n)

Решение и ответ
n = 12
s = 11 # в этом случае s//n = 0, цикл прервется и  s наибольшее 
while n != 2:
    n -= 2
    s += 5 
print  (s,n)
Ответ: 36

 

Добавить комментарий


РСЯ футер

© 2017 Компьютерный клуб "КОД". Все права защищены.