Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/88: Рейтинг темы: голосов - 88, средняя оценка - 4.72
0 / 0 / 0
Регистрация: 02.04.2019
Сообщений: 14

Простые и составные числа

05.04.2019, 20:17. Показов 16790. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Друзья,

Подскажите, в чем я ошибся?

Python
1
2
3
4
5
6
7
8
9
10
11
#Простые и составные числа
 
d=2
a = int(input('Введите число')
        while d<=a-1 and a%d==0:
            d+=1
        if a == d:
            print ('Простое')
        
        else:
            print ('Составное')
Заявляет что while это invalid syntax
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.04.2019, 20:17
Ответы с готовыми решениями:

Найти все трехзначные простые числа. (Определить функцию, позволяющую распознавать простые числа.)
Найти все трехзначные простые числа. (Определить функцию, позволяющую распознавать простые числа.) Помогите пожалуйста на питоне....

Составные числа и их порядковые номера в массиве
Даётся массив из n чисел. Найти наибольшее количество порядковых номеров чисел,которые в сумме дают составное число. Помогите пожалуйста,...

Удалить из целочисленного массива все составные числа
Удалить из целочисленного массива все составные числа. Упорядочить элементы массива в порядке возрастания суммы цифр чисел. Написать...

6
121 / 100 / 79
Регистрация: 30.11.2017
Сообщений: 230
05.04.2019, 21:33
В строчке
Python
1
a = int(input('Введите число')
открывающих скобки две, а закрывающая только одна.
P.S. Алгоритм совершенно неверный.
0
Эксперт Python
1356 / 653 / 207
Регистрация: 23.03.2014
Сообщений: 3,057
05.04.2019, 22:09
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
def isprime(n):
    mliist=[]
    for  i in range(n+1):
        mliist.append(i)
    mliist[1]=0
    i=2
    while i<=n:
        if mliist[i]!=0:
            j=i+i
            while j<=n:
                mliist[j]=0
                j=j+i
        i+=1
    mliist=set(mliist)
    mliist.remove(0)
    print(mliist)
 
 
if __name__ == '__main__':
    n=int(input())
    isprime(n)
0
44 / 14 / 5
Регистрация: 25.03.2019
Сообщений: 41
05.04.2019, 23:23
Python
1
2
3
4
5
6
7
8
9
import math
n = int(input())
if n < 2:print("составное число"),quit()
elif n == 2:print("простое число"),quit()
i = 2
while i <= int(math.sqrt(n)):
    if n % i == 0:print("составное число"),quit()
    i += 1
print("простое число")
0
0 / 0 / 0
Регистрация: 02.04.2019
Сообщений: 14
17.06.2019, 08:09  [ТС]
Друзья, функция пятерку как составное число выдает. Подскажите как исправить?

Python
1
2
3
4
5
6
7
8
9
10
def prost_sost(a):
    d=2
    while d<=a-1 and a%d==0:
        d+=1
    if a<=d:
        return ('Prost')
    else:
        return ('Sost')
a=int (input('Enter value'))
print (prost_sost(a))
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
17.06.2019, 13:44
ZhansultanM, У Вас ошибка в условии цикла while.
Простое число, это такое, которое делится только на 1 и на само себя. Как только Вы выясняете, что оно делится еще на какое либо число, то это значит, что оно не простое, то есть составное.
Поэтому цикл while должен прерываться, как только Вы находите число на которое делится "а".
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
def prost_sost(a):
    d=2
    while d <= a-1:
        if a%d == 0:
            break
        else:
            d += 1
    if a == 1 or d == a:
        return ('Prost')
    else:
        return ('Sost')
a=int (input('Enter value: '))
print (prost_sost(a))
Добавлено через 13 минут
Если же Вы выйдите из цикла потому, что d достигло a, т.е. d=a и условие цикла while уже не выполняется, то это значит, что нет другого числа кроме 1 и "а" на которое делилось бы "а". А это значит, что оно простое.
0
Эксперт Pascal/Delphi
 Аватар для droider
4888 / 2822 / 865
Регистрация: 04.10.2012
Сообщений: 10,264
18.06.2019, 18:00
Лучший ответ Сообщение было отмечено ZhansultanM как решение

Решение

Цитата Сообщение от ZhansultanM Посмотреть сообщение
Простые и составные числа
еще вариант решения, оформленный в виде функции

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# пишем функцию
def isComposite(n):
    if (n <= 1 or n <= 3):
        return False
    if (n % 2 == 0 or n % 3 == 0):
        return True
    i = 5
    while(i * i <= n):
        if (n % i == 0 or n % (i + 2) == 0):
            return True
        i += 6
    return False
 
# пример вызова
a = int(input('Введите число '))
if isComposite(a):
    print('Число {} - составное'.format(a))
else:
    print('Число {} - простое'.format(a))
Тестовый прогон
Code
1
2
3
4
5
6
*** Удаленный интерпретатор инициализирован повторно***
Число 5 - простое
>>> 
*** Удаленный интерпретатор инициализирован повторно***
Число 12 - составное
>>>
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.06.2019, 18:00
Помогаю со студенческими работами здесь

Составные и простые числа
Вот мое решение следующей задачи. /*Дано натуральное Nє200. Получить N случайных целых чисел из отрезка . 1. Упорядочить числа...

Простые и составные числа
Составить программу отыскания наименьшего h, при котором число h2+h+41 является составным.(Составное число-число, у которого есть делители...

Простые и составные числа
Составить программу отыскания наименьшего h, при котором число h2+h+41 является составным.

Простые и составные числа
Составить программу отыскания наименьшего h, при котором число h2+h+41 является составным.

Удалить из последовательности простые числа и продублировать составные числа, содержащие цифру 8
Ввести последовательность натуральных чисел. Если последовательность упорядочена по невозрастанию, то удалить из последовательности...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru