Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 08.10.2020
Сообщений: 1
1

Определение полупростоты числа, введенного с клавиатуры

23.09.2021, 20:36. Показов 1367. Ответов 3
Метки c++ (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый вечер, уважаемые пользователи форума.
У меня возникли огромные проблемы при написании программы (язык C++), определяющей, является ли число, введенное с клавиатуры, полупростым. После нескольких лет программирования на языке Python мгновенно перестроиться на C++ у меня не вышло (я студент первого курса, в школьную программу не входило изучение C++), поэтому я прошу помощи у знатоков.
Требуется написать программу, которая определяет, является ли число, введенное с клавиатуры, полупростым. Желательно с пояснениями, но это совсем не обязательно. Заранее огромное спасибо!
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.09.2021, 20:36
Ответы с готовыми решениями:

Вводить с клавиатуры 10 целых чисел,выдать на экран те числа,которые меньше введенного с клавиатуры числа,и их сумму
1ая программа. вводить с клавиатуры 10 целых чисел,выдать на экран те числа,которые меньше...

Чётные и нечётные числа: определить чётность числа, введённого пользователем с клавиатуры
Пользователь вводит с клавиатуры число. Вывести на экран Y, если число четное и N, если число не...

Рандомное заполнение матрицы, причем от числа до числа, введенного с клавиатуры
Подскажите ,пожалуйста, как сделать рандомное заполнение матрицы,причем от числа до...

Определение типа введенного числа
Определить тип введенного числа с помощью оператора Case.... of. Возможны такие варианты ShortInt,...

Определение знака введенного числа
Пользователь вводит число, если число положительное то выводится сообщение "положительное", если...

3
38 / 24 / 17
Регистрация: 05.05.2021
Сообщений: 48
23.09.2021, 23:35 2
Лучший ответ Сообщение было отмечено Kriegsmarine как решение

Решение

Kriegsmarine,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
using namespace std;
 
bool checkSemiprime(int number)
{
    int count = 0;
    for(int i = 2; count < 2 && i * i <= number; ++i)
        while(number % i == 0)
            number /= i, ++count;
    if(number > 1)
        ++count;
    return count == 2;
} 
 
int main()
{
    int number; cin >> number;
    if(checkSemiprime(number))
        cout << "Число полупростое\n";
    else
        cout << "Число не полупростое\n";
}
1
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
24.09.2021, 11:22 3
OriRaven, делается много лишнего. Выходить из программы нужно сразу, как только count стал больше 2
0
38 / 24 / 17
Регистрация: 05.05.2021
Сообщений: 48
24.09.2021, 13:36 4
Цитата Сообщение от Байт Посмотреть сообщение
Выходить из программы нужно сразу, как только count стал больше 2
Согласен с вами, можно добавить в цикл while дополнительное условие выхода, но в целом, если учитывать, что максимальное простое число, которое при возведении в квадрат укладывается в ограничения int'а - 46337 (то есть циклу for потребуется 46337 итераций, чтобы вычислить, что 46337^2 является полупростым числом), то лишние ~30 операций, на которые программа в худшем случае может застрять в цикле while не выглядят сильно критично
0
24.09.2021, 13:36
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.09.2021, 13:36
Помогаю со студенческими работами здесь

Определить, больше ли сумма цифр заданного двузначного числа введённого с клавиатуры числа а
Определить, больше ли сумма цифр заданного двузначного числа введённого с клавиатуры числа а

Определить, больше ли сумма цифр заданного двузначного числа введённого с клавиатуры числа а
Дано двузначное число. Определить, больше ли сумма его цифр введённого с клавиатуры числа а

Для введённого с клавиатуры 6-значного числа определить, являются ли все цифры числа нечетные
Для введённого с клавиатуры 6-значного числа определить, являются ли все цифры числа нечетные.

Определение максимальной цифры введенного числа
Дано натуральное число n. Найти порядковый номер самой большой цифры введенного числа. (СИ)...

Определение минимального введенного числа из 9 чисел
Как с помощью do while написать программу определения минимального введенного числа из 9 чисел в...

Вывод введенного с клавиатуры числа
Доброго времени суток! В данной программе я попыталась реализовать ввод числа с клавиатуры и затем...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru