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

Код на питона и на с Разложение на чётнопростые
В этой задаче рассматриваются только чётные целые числа.

Чётное натуральное число n будем называть чётнопростым числом, если его нельзя представить в виде произведения двух чётных чисел. Например, числа 2 и 6 — чётнопростые.

Очевидно, что каждое число либо является чётнопростым, либо разлагается в произведение чётнопростых. Но такое разложение на чётнопростые не всегда единственно.

Входные данные

Дано чётное натуральное n≤109.

Выходные данные

Если число n чётнопростое, выведите слово prime. Если это число единственным образом разлагается в произведение двух и более чётнопростых, то выведите слово single, а в следующей строке выведите разложение этого числа на чётнопростые множители. Если число допускает несколько различных разложений на чётнопростые, то выведите слово many, а в следующих двух строках выведите два каких-нибудь различных разложения числа на чётнопростые множители.

Примеры
Ввод 1
6
Вывод
prime
Ввод 2
4
Вывод
single
2 2

очень на вас надеюсь

Показать ответ
Ответ:
Dispasito
Dispasito
11.11.2021 08:38

from math import sqrt

inpABC = list(map(int, input("Введите коэффиценты a, b, c: ").split()))

a = inpABC[0]

b = inpABC[1]

c = inpABC[2]

d = b*b-4*a*c

if d < 0:

   print("Корней нет")

else:

   if d == 0:

       x = -b/(2*a)

       print("Корень уравнения x=", x)

       

   else:

       if d > 0:

           x1 = (-b+sqrt(d))/(2*a)

           x2 = (-b-sqrt(d))/(2*a)

           print("Корни уравнения:\nx1=",x1,"x2=",x2)

# 2 вариант с функцией

def Kbyp(a,b,c):

   d = b*b-4*a*c

   if d < 0:

       print("Корней нет")

   elif d == 0:

       x = -b/(2*a)

       print("Корень уравнения x=", x)

           

   elif d > 0:

       x1 = (-b+sqrt(d))/(2*a)

       x2 = (-b-sqrt(d))/(2*a)

       print("Корни уравнения:\nx1=",x1,"x2=",x2)

inpABC = list(map(int, input("Введите коэффиценты a, b, c: ").split()))

Kbyp(inpABC[0], inpABC[1], inpABC[2])

0,0(0 оценок)
Ответ:
ульянка37
ульянка37
09.02.2023 06:57

Сначала переведем 40 в двоичную для этого будем делить пока не останется единица  

 40 /2

-40 ---20/2

   0     -20---10/2

             0    -10---5/2

                       0   -4---2/2

                              1   -2---1

                                     0

 

После этого с правой стороны получаем число по остаткам от деления

Получилось число  101000 в двоичной системе 

 

52 так легко не перервести, поэтому сначала переведем в десятичную,а

для этого будем умножать 

2*8(0)степени+5*2(1)степени=2+40=42(в десятичной)    

 

Теперь опять в двоичную переводим

 

 42/2

-42---21/2

   0   -20 ---10/2

           1    -10---5/2

                    0   -4---2/2

                           1   -2 ---1

                                  0

Получилось 101010

А теперь сравниваем с  ответами : подходит 3) 101000<101001<101010

 

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