profile
Размещено 3 года назад по предмету Информатика от levstarodubcevllllll

питон!!! разложить нат. число на простые множители

  1. Ответ на вопрос
    Ответ на вопрос дан mirageKZ

    Ответ:

    Python

    n = int(input())

    slist = []

    s = 2

    while n > 1:

       if n % s == 0:

           slist.append(s)

           n = n/s

       else:

           s += 1

    print(slist)

    1. Ответ на вопрос
      Ответ на вопрос дан mirageKZ
      мы туда попадём только если выполнится условие выше n % s == 0
    2. Ответ на вопрос
      Ответ на вопрос дан etojan
      Да, но float представляет все целые числа без погрешности только до 2^52, на больших числах твой код не будет всегда работать, потому что n при первом же делении станет типа float, а не int
    3. Ответ на вопрос
      Ответ на вопрос дан levstarodubcevllllll
      а можно решение без списков
    4. Ответ на вопрос
      Ответ на вопрос дан etojan
      Вот пожалуйста, разложение на множители числа 12345678912345678912 по мнению курильщика: [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 11157689, 60029989]
    5. Ответ на вопрос
      Ответ на вопрос дан mirageKZ
      можно. вместо slist.append(s) написать print(s). А последнюю строчку затереть. Или как предложил etojan.
  2. Ответ на вопрос
    Ответ на вопрос дан etojan

    num = int(input())

    div = 2  # претендент на делитель

    while num > 1:

       if num % div == 0:  # остаток от деления равен нулю

           print(div)  # печатаем делитель

           num //= div  # делим исходное число на делитель, чтоб искать дальше

           continue  # проверяем еще раз, будет ли делиться снова на этот же делитель

       if div > num**.5 + 1: # если делитель уже больше, чем корень из n

           print(num) # то единственным таким делителем может быть только само n

           break

       div += 1  # если не делится - увеличиваем возможный делитель

    1. Ответ на вопрос
      Ответ на вопрос дан etojan
      Правильный ответ разложения: 2, 2, 2, 2, 2, 2, 3, 313, 35129, 5847949643
    2. Ответ на вопрос
      Ответ на вопрос дан mirageKZ
      etojan, разложение на множители числа 12345678912345678912. 2
      2
      2
      2
      2
      2
      3
      313
      35129
      Произведение будет = 2111112384.
    3. Ответ на вопрос
      Ответ на вопрос дан mirageKZ
      etojan, вы всё слишком усложняете. Вы используете вводимое число типа Int. Не знаю скольки битная у Вас система, но значения это типа Int32: [-2147483648,2147483647]
      Int64: [-9223372036854775808,9223372036854775807]. Для чего брать значения выходящие за диапазон данного типа?!
    4. Ответ на вопрос
      Ответ на вопрос дан etojan
      Уважаемый профессор, в CPython, который является стандартным интерпретатором для языка Python, числа Int имеют максимальную длину размера выделенной для интерпретатора памяти. В некоторых компиляторах, действительно, они могут быть ограничены 32 или 64 битами, но по умолчанию в них подключена длинная арифметика.
    5. Ответ на вопрос
      Ответ на вопрос дан etojan
      Пожалуйста, запустите хоть раз для сравнения моё решение и ваше, после чего убедитесь в моей правоте и давайте закрывать этот спор. Местные ыксперты всё равно считают ваше решение лучшим
Не тот ответ на вопрос, который вам нужен?
Найди верный ответ
Самые новые вопросы
tegysigalpa2012
Русский язык - 6 лет назад

Помогите решить тест по русскому языку тест по русскому языку «местоимение. разряды местоимений» для 6 класса 1. укажите личное местоимение: 1) некто 2) вас 3) ни с кем 4) собой 2. укажите относительное местоимение: 1) кто-либо 2) некоторый 3) кто 4) нам 3. укажите вопросительное местоимение: 1) кем-нибудь 2) кем 3) себе 4) никакой 4. укажите определительное местоимение: 1) наш 2) который 3) некий 4) каждый 5. укажите возвратное местоимение: 1) свой 2) чей 3) сам 4) себя 6. найдите указательное местоимение: 1) твой 2) какой 3) тот 4) их 7. найдите притяжательное местоимение: 1) самый 2) моего 3) иной 4) ничей 8. укажите неопределённое местоимение: 1) весь 2) какой-нибудь 3) любой 4) этот 9. укажите вопросительное местоимение: 1) сколько 2) кое-что 3) она 4) нами 10. в каком варианте ответа выделенное слово является притяжательным местоимением? 1) увидел их 2) её нет дома 3) её тетрадь 4) их не спросили

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.