Предмет: Информатика, автор: saharova1977

Значение арифметического выражения: 2 * 27^7 + 3^10 - 9 записали в системе счисления с основанием три. Сколько цифр «0» содержится в этой записи?


MrSolution: Можно посчитать руками конечно и это даже легко, но зачем, когда есть программный метод.

Ответы

Автор ответа: MrSolution
2

Ответ:

(см. объяснение)

Объяснение:

Решение на Java:

import java.math.BigInteger;

public class Main

{

public static void main(String[] args) {

 System.out.println(BigInteger.valueOf(2).multiply(BigInteger.valueOf(27).pow(7)).add(BigInteger.valueOf(3).pow(10)).subtract(BigInteger.valueOf(9)).toString(3).chars().filter(x->x=='0').count());

}

}

Решение на Python 3:

a = 2*27**7+3**10-9

s = ''

while a>0:

   s = str(a % 3) + s

   a //= 3

print(s.count('0'))

Результат работы программ в обоих случаях одинаковый и равен 13.

Задание выполнено!

Автор ответа: lenyashastin
1

Ответ: (Python 3) ↓

n = 2*27**7+3**10-9

ct = 0

while n>0:

  if n%3 == 0:

   ct+=1

  n //= 3

print(ct)

Похожие вопросы
Предмет: Русский язык, автор: lyudmila28