В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
aimsen
aimsen
16.05.2021 19:39 •  Информатика

Если хорошо разбираетесь в языке c или arduino ide

петр продолжил изучение своей платформы для прототипирования и решил научиться и напрямую, без использования библиотечных функций.
на базе платы arduino uno он собрал следующее устройство:

кнопка “сдвиг” подключена к пину 9 и земле.
кнопка “состояние” подключена к пину 10 и земле.
к пинам a0-a3 (14-17) подключены 4 светодиода.

устройство петра работает так:
крайний светодиод включается, когда нажаты кнопки “состояние” и “сдвиг”.
нажатие кнопки “сдвиг” приводит к “смещению” состояний светодиодов на 1 (т. е. если исходная комбинация состояний светодиодов была вкл выкл выкл выкл, то после первого нажатия кнопки “сдвиг” она станет выкл вкл выкл выкл, после второго нажатия выкл выкл вкл выкл)

во время полдника петр понял, как написать короткую программу, набросал ее на листочке, но в самые ответственные места попали капли компота и размыли написанное. петру восстановить код. последовательно запишите недостающие операторы (отмеченные как без пробелов между ними.

#define led_mask 0b
#define button_mask 0b110
void setup() {
ddrb & = ~button_mask;
portb |= button_mask;
ddrc |= led_mask;
}
void loop() {
if((~pinb 0b10) 1)
{
portc = 0b111) 1 ) ((~pinb 0b100) 2) 0b);
}
delay(500);
}

Показать ответ
Ответ:
radchukilia
radchukilia
07.11.2021 23:51

Примечание:

Использовался ЯП Python, версия 3.8.10.

Решение состоит из двух частей: функция которая составляет словарь простых делителей и их степени, и основной код, который отвечает за вызов этой функции и генерацию строки вывода.

В функции prime_factorization использовался достаточно оптимальный алгоритм факторизации.

Код и примеры работы есть в виде скринов.

Исходный код:

def prime_factorization(n):

   d = 2

   divisors = {}

   while n > 1:

       if n % d == 0:

           divisors[d] = divisors.get(d, 0) + 1

           n //= d

       elif d*d > n:

           d = n

       else:

           d += 1

   return divisors

if __name__ == '__main__':

   n = int(input())

   factors = prime_factorization(n)

   s = ' * '.join([f'{k}^{v}' for k, v in sorted(factors.items())])

   print(s)


, на ПИТОНЕ Разложение на простые Требуется разложить целое число N на простые множители с учётом их
, на ПИТОНЕ Разложение на простые Требуется разложить целое число N на простые множители с учётом их
0,0(0 оценок)
Ответ:
denis2565
denis2565
21.03.2021 10:49

def solve(n):

 d = 0

 while not (n&1):

   d += 1

   n //= 2

 a = [2]*d

 a[-1] *= n

 if d == 1:

   print("prime")

   return

 for x in range(3, int(n**.5)+1, 2):

   if not (n%x):

     b = a[:]

     b[-1] //= x

     b[-2] *= x

     print("many")

     print(" ".join(map(str, a)))

     print(" ".join(map(str, b)))

     return

 print("single")

 print(" ".join(map(str, a)))

from sys import stdin

for line in stdin:

 print("=== " + line.strip() + " ===")

 solve(int(line))

Дайте плз 5 звёзд, мне очень не хватает "Лучших ответов"

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота