Задания
Версия для печати и копирования в MS Word
Тип 5 № 78061
i

На вход ал­го­рит­ма подаётся на­ту­раль­ное число N. Ал­го­ритм стро­ит по нему новое число R сле­ду­ю­щим об­ра­зом.

1.  Стро­ит­ся тро­ич­ная за­пись числа N.

2.  Далее эта за­пись об­ра­ба­ты­ва­ет­ся по сле­ду­ю­ще­му пра­ви­лу:

а)  если сумма цифр тро­ич­ной за­пи­си числа N де­лит­ся на 3, то в этой за­пи­си два левых раз­ря­да за­ме­ня­ют­ся на «112»;

б)  если сумма цифр тро­ич­ной за­пи­си числа N на 3 не де­лит­ся, то эта сумма пе­ре­во­дит­ся в тро­ич­ную си­сте­му счис­ле­ния и до­пи­сы­ва­ет­ся в конец числа.

По­лу­чен­ная таким об­ра­зом за­пись яв­ля­ет­ся тро­ич­ной за­пи­сью ис­ко­мо­го числа R.

3.  Ре­зуль­тат пе­ре­во­дит­ся в де­ся­тич­ную си­сте­му и вы­во­дит­ся на экран.

На­при­мер, для ис­ход­но­го числа 11  =  1023 ре­зуль­та­том яв­ля­ет­ся число 11223  =  44, а для ис­ход­но­го числа 12  =  1103 ре­зуль­та­том яв­ля­ет­ся число 11023  =  38.

Ука­жи­те ми­ни­маль­ное чётное число R, боль­шее 702, ко­то­рое может быть по­лу­че­но с по­мо­щью опи­сан­но­го ал­го­рит­ма. В от­ве­те за­пи­ши­те это число в де­ся­тич­ной си­сте­ме счис­ле­ния.

Спрятать решение

Ре­ше­ние.

При­ведём ре­ше­ние Ле­воч­ки­на Вла­ди­ми­ра на языке Python.

for N in range(1,100):

X = N

stroka = ''

while X > 0:

stroka = str(X % 3) + stroka

X = X // 3

summa = 0

for i in stroka:

summa = summa + int(i)

stroka_temp = ''

if summa % 3 == 0:

stroka = '112' + stroka[2:]

else:

while summa > 0:

stroka_temp = str(summa % 3) + stroka_temp

summa = summa // 3

stroka = stroka + stroka_temp

result = int(stroka,3)

if result > 702:

print(result)

break

 

Ответ: 718.


Аналоги к заданию № 78061: 81471 Все