помогите решить задачу, пожалуйста. Задачу закрепил. Желательно решение на Python, но подойдет и решение на C++ или Pascal
Ответы
Язык Python 3.x
Ответ:
Код:
while 1:
n=int(input(''))
if n%3==0:
print(0)
else:
for i in range(n, -1, -1):
if i%3==0:
print(n-i)
break
else:
pass
Объяснение (в хештегах):
Код:
while 1: #создаем бессконечный цикл, чтобы проверять числа несколько раз без перезагрузки проекта (число 1 это тоже что и True)
n=int(input(''))#ввод
if n%3==0:#проверка если число сразу делитися на 3
print(0) #если число сразу делится на 3, выведится "0"
else:#в иных случаях
for i in range(n, -1, -1):#создаем цикл для проверки. с каждым кругом переменная i уменьшается на 1
if i%3==0:#проверка если число делитися на 3
print(n-i) #вывод ответа (от числа отнимаем кол-во кругом и получаем ответ) (например: n=148, i=147, 148-147=1, то что нам и надо)
break #выходим из цикла
else:#в иных случаях
pass#продолжаем цикл
#надеюсь помог XD
P.S. код выполнятся с корректно с хештегами будет, поскольку # для этого и созданы.
P.S. файл .txt можешь переиминовать в .py и будет тебе файл .py. Я прикрепил чтобы был отспут корректный, это так на всякий, зависит от того какой у тебя монитор. Но я думаю ты с отступами справишься )
num = f'{input()}'
k=len(num)
n=1<
if n%3==0:
print(0)
else:
for elem in range(1, n):
count=''.join(map(lambda x,y: x*y, num , map(int, f'{elem%(n):0{k}b}')))
if int(count)%3==0:
print(len(num)-len(count))
break
elif elem==n-1:
print('Решений нету')
break
else:
pass
num=f'{input()}'
k=len(num)
n=1< if int(num)%3==0:
print(0)
else:
for elem in range(1, n):
count=''.join(map(lambda x,y: x*y, num , map(int, f'{elem%(n):0{k}b}')))
if int(count)%3==0:
print(len(num)-len(count))
break
elif int(n)==int(elem)+1:
print('Решений нету')
break
else:
pass