- Цикл while
- Инструкции управления циклом
- Найти наименьший делитель числа, отличный от 1
- Решение
- Решение
- Минимальный простой делитель
- Минимальный простой делитель
- Дано целое число не меньшее 2 выведите его наименьший натуральный делитель отличный от 1 питон
- Инструкции управления циклом
- Упражнения
- A: Список квадратов
Цикл while
Цикл while (“пока”) позволяет выполнить одну и ту же последовательность действий, пока проверяемое условие истинно. Условие записывается до тела цикла и проверяется до выполнения тела цикла. Как правило, цикл while используется, когда невозможно определить точное значение количества проходов исполнения цикла.
Синтаксис цикла while в простейшем случае выглядит так:
while условие: блок инструкций
При выполнении цикла while сначала проверяется условие. Если оно ложно, то выполнение цикла прекращается и управление передается на следующую инструкцию после тела цикла while . Если условие истинно, то выполняется инструкция, после чего условие проверяется снова и снова выполняется инструкция. Так продолжается до тех пор, пока условие будет истинно. Как только условие станет ложно, работа цикла завершится и управление передастся следующей инструкции после цикла.
Например, следующий фрагмент программы напечатает на экран квадраты всех целых чисел от 1 до 10. Видно, что цикл while может заменять цикл for . in range(. ) :
В этом примере переменная i внутри цикла изменяется от 1 до 10. Такая переменная, значение которой меняется с каждым новым проходом цикла, называется счетчиком. Заметим, что после выполнения этого фрагмента значение переменной i будет равно 11 , поскольку именно при i==11 условие i
Вот еще один пример использования цикла while для определения количества цифр натурального числа n :
n = int(input()) length = 0 while n > 0: n //= 10 length += 1
В этом цикле мы отбрасываем по одной цифре числа, начиная с конца, что эквивалентно целочисленному делению на 10 ( n //= 10 ), при этом считаем в переменной length , сколько раз это было сделано.
В языке Питон есть и другой способ решения этой задачи: .
Инструкции управления циклом
После тела цикла можно написать слово else: и после него блок операций, который будет выполнен один раз после окончания цикла, когда проверяемое условие станет неверно:
Казалось бы, никакого смысла в этом нет, ведь эту же инструкцию можно просто написать после окончания цикла. Смысл появляется только вместе с инструкцией break , использование которой внутри цикла приводит к немедленному прекращению цикла, и при этом не исполняется ветка else . Разумеется, инструкцию break осмыленно вызывать только из инструкции if , то есть она должна выполняться только при выполнении какого-то особенного условия.
Другая инструкция управления циклом — continue (продолжение цикла). Если эта инструкция встречается где-то посередине цикла, то пропускаются все оставшиеся инструкции до конца цикла, и исполнение цикла продолжается со следующей итерации.
Инструкции break , continue и ветка else: можно использовать и внутри цикла for . Тем не менее, увлечение инструкциями break и continue не поощряется, если можно обойтись без их использования. Вот типичный пример плохого использования инструкции break .
while True: length += 1 n //= 10 if n == 0: break
Найти наименьший делитель числа, отличный от 1
Есть задача: Дано целое число, не меньшее 2. Выведите его наименьший натуральный делитель, отличный от 1.
Пыталась, написала так, только получается не наименьший делитель, а все возможные делители отличные от 1 :с
n = int(input()) i = 1 while i n: i = i + 1 if n % i == 0: print(i)
Для любого целого числа найти его наименьший и наибольший делитель
Написать программу. Для любого целого числа найти его наименьший и наибольший делитель (1 и само.
Наименьший простой делитель числа
Дано целое число, не меньшее 2. Выведите его наименьший простой делитель. На вход целое число N<=.
Наименьший простой делитель данного натурального числа
# TASK # Найти наименьший простой делитель данного натурального числа. a = int (input.
Найти наименьший натуральный делитель целого числа N, отличный от 1
Минимальный делитель Требуется найти наименьший натуральный делитель целого числа N, отличный от.
Сообщение было отмечено mik-a-el как решение
Решение
Ну, как бы всё очевидно — нужно всего лишь выйти из цикла при обнаружении первого (он и есть наименьший) делителя:
while i n: i = i + 1 if n % i == 0: print(i) break
Спасибо) Упс, забыла про break Просто на курсе объяснялось, что эту команду лучше не использовать, или здесь больше нет вариантов?
Сообщение от Riita
Как-нибудь обосновывали, или нужно было на слово поверить?
Сообщение от Riita
>>> def min_divider(n, d=2): . return d if n % d == 0 else min_divider(n, d + 1) . >>> min_divider(6) 2 >>> min_divider(7) 7 >>> min_divider(25) 5 >>>
Ну вот решила поверить, думала люди создавшие видео-курс говорят только правильные вещи и надо их беспрекословно слушать 😀
Я это еще не прошла, дошла только до цикла while пока, спасибо 🙂
Сообщение было отмечено mik-a-el как решение
Решение
Сообщение от Riita
Сообщение от Riita
>>> n = int(input("Number greater than 1: ")) Number greater than 1: 625 >>> i = 2 >>> while n % i: . i += 1 . >>> print(i) 5 >>>
Эм, не пойму почему после n % 1 нет = и какого-то результата и как в принципе работает этот код, что он дает правильный ответ? ._.
Сообщение от Riita
Начала изучать Python, помогите пожалуйста, с поиском ошибки в задачи. Система выдает сообщение на 14 тесте: «Превышено максимальное время работы» и оценивает 13 баллов из 100
n=int(input()) i = 2 while n%i!=0: i+= 1 print(i)
Пересмотрела все варианты которые выше и в похожых темах, этот ответ система оценила наибольшим количеством балов 13.
Другие варианты оценивает на 6 баллов или 0.
Сообщение от tana256
Вообще для интерпретируемого языка проблема скорее надуманная. Но в принципе можно и ускорить.
Если известно максимально возможное число и можно выполнять инициализирующий код, нужно составить список из простых чисел начиная с 2 и до квадратного корня из максимально возможного значения включительно. Заданное число проверять на делимость на простые числа — так будет заметно быстрее.
Можно немного ускорить проверив сначала число на чётность, а при отрицательном результате делить только на нечётные числа. Способ далёк от идеального — если число не делится на 5 (к примеру), то и на 15 оно точно не разделится, но всё-таки нечётных чисел значительно меньше.
Минимальный простой делитель
Дано целое число, не меньшее 2. Выведите его наименьший простой делитель.
Вводится целое положительное число N≤2∗109.
Для сокращения времени работы программы организуйте цикл, перебирающий делители до N−−√. Написать его можно таким образом:
a = int(input()) i = 2 while a%i!=0: i+=1 print(i)
Пишет: Программа выполнялась слишком долго и была прервана
помогите решить пожалуйста
Минимальный простой делитель
Дано целое число не меньшее 2. Выведите его наименьший простой делитель. Входные данные .
Минимальный простой делитель
Минимальный простой делитель Дано целое число, не меньшее 2. Выведите его наименьший простой.
Минимальный простой делитель
Минимальный простой делитель Дано целое число, не меньшее 2. Выведите его наименьший простой.
Минимальный простой делитель
Здравствуйте! нужно написать программу, которая при вводе целого числа, не меньшее 2, выводит его.
Тебе же подсказали. Ты подсказку скопировал. А прочитать?
a = int(input()) i = 2 while i*ia: if a%i==0: break i+=1 print(i)
все равно не проходит задача
Добавлено через 10 минут
я нашел уже не надо
Наименьший простой делитель
Условие. Дано целое положительное число N≤2∗109, не меньшее 2. Выведите его наименьший простой.
Наименьший простой делитель
Дано целое число, не меньшее 2. Выведите его наименьший простой делитель. Мой код: def.
Наименьший простой делитель числа
Дано целое число, не меньшее 2. Выведите его наименьший простой делитель. На вход целое число N<=.
Минимальный делитель
Дано целое число, не меньшее 2. Выведите его наименьший натуральный делитель, отличный от 1.
Минимальный делитель
Дано целое число, не меньшее 2. Выведите его наименьший натуральный делитель, отличный от 1.
Наименьший простой делитель данного натурального числа
# TASK # Найти наименьший простой делитель данного натурального числа. a = int (input.
Минимальный делитель числа
Напишите программу, которая ищет минимальный нечётный делитель числа N , отличный от 1.
Минимальный простой делитель
Здравствуйте! нужно написать программу, которая при вводе целого числа, не меньшее 2, выводит его наименьший простой делитель. НЕЛЬЗЯ использовать def, библиотеку math, списки и квадратные скобки
Программы
n = int(input()) i = 2 while n % i != 0: i += 1 print(i)
n = int(input()) i = 2 while n % i: i += 1 print(i)
Минимальный простой делитель
Минимальный простой делитель Дано целое число, не меньшее 2. Выведите его наименьший простой.
Минимальный простой делитель
Минимальный простой делитель Дано целое число, не меньшее 2. Выведите его наименьший простой.
Минимальный простой делитель
Дано целое число не меньшее 2. Выведите его наименьший простой делитель. Входные данные .
Минимальный простой делитель
Дано целое число, не меньшее 2. Выведите его наименьший простой делитель. Входные данные .
Наименьший простой делитель
Условие. Дано целое положительное число N≤2∗109, не меньшее 2. Выведите его наименьший простой.
Дано целое число не меньшее 2 выведите его наименьший натуральный делитель отличный от 1 питон
Цикл while («пока») позволяет выполнить одну и ту же последовательность действий, пока проверяемое условие истинно. Условие записывается до тела цикла и проверяется до выполнения тела цикла. Как правило, цикл while используется, когда невозможно определить точное значение количества проходов исполнения цикла.
Синтаксис цикла while в простейшем случае выглядит так:
while условие: блок инструкций
При выполнении цикла while сначала проверяется условие. Если оно ложно, то выполнение цикла прекращается и управление передается на следующую инструкцию после тела цикла while . Если условие истинно, то выполняется инструкция, после чего условие проверяется снова и снова выполняется инструкция. Так продолжается до тех пор, пока условие будет истинно. Как только условие станет ложно, работа цикла завершится и управление передастся следующей инструкции после цикла.
Например, следующий фрагмент программы напечатает на экран квадраты всех целых чисел от 1 до 10. Видно, что цикл while может заменять цикл for . in range(. ) :
В этом примере переменная i внутри цикла изменяется от 1 до 10. Такая переменная, значение которой меняется с каждым новым проходом цикла, называется счетчиком. Заметим, что после выполнения этого фрагмента значение переменной i будет равно 11 , поскольку именно при i==11 условие i
Вот еще один пример использования цикла while для определения количества цифр натурального числа n :
n = int(input()) length = 0 while n > 0: n //= 10 length += 1
В этом цикле мы отбрасываем по одной цифре числа, начиная с конца, что эквивалентно целочисленному делению на 10 ( n //= 10 ), при этом считаем в переменной length , сколько раз это было сделано.
В языке Питон есть и другой способ решения этой задачи: .
Инструкции управления циклом
После тела цикла можно написать слово else: и после него блок операций, который будет выполнен один раз после окончания цикла, когда проверяемое условие станет неверно:
Казалось бы, никакого смысла в этом нет, ведь эту же инструкцию можно просто написать после окончания цикла. Смысл появляется только вместе с инструкцией break , использование которой внутри цикла приводит к немедленному прекращению цикла, и при этом не исполняется ветка else . Разумеется, инструкцию break осмыленно вызывать только из инструкции if , то есть она должна выполняться только при выполнении какого-то особенного условия.
Другая инструкция управления циклом — continue (продолжение цикла). Если эта инструкция встречается где-то посередине цикла, то пропускаются все оставшиеся инструкции до конца цикла, и исполнение цикла продолжается со следующей итерации.
Инструкции break , continue и ветка else: можно использовать и внутри цикла for . Тем не менее, увлечение инструкциями break и continue не поощряется, если можно обойтись без их использования. Вот типичный пример плохого использования инструкции break .
while True: length += 1 n //= 10 if n == 0: break
Упражнения
A: Список квадратов
По данному целому числу N распечатайте все квадраты натуральных чисел, не превосходящие N, в порядке возрастания.