Форум программистов, компьютерный форум CyberForum.ru

Дано натуральное число n>1. Проверьте, является ли оно простым - C++

Восстановить пароль Регистрация
 
Bhbyr
0 / 0 / 0
Регистрация: 21.11.2012
Сообщений: 29
30.11.2012, 23:16     Дано натуральное число n>1. Проверьте, является ли оно простым #1
Дано натуральное число n>1. Проверьте, является ли оно простым. Программа должна вывести слово YES, если число простое и NO, если число составное. Алгоритм должен иметь
Ввод Вывод
2 YES
4 NO
Понятно, что задача сама по себе нерекурсивна, т.к. проверка числа n на простоту никак не сводится к проверке на простоту меньших чисел. Поэтому нужно сделать еще один параметр рекурсии: делитель числа, и именно по этому параметру и делать рекурсию
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.11.2012, 23:16     Дано натуральное число n>1. Проверьте, является ли оно простым
Посмотрите здесь:

C++ Введите натуральное число N и проверьте, если оно простое.
C++ Дано целое число N (> 1). Если оно является простым
Дано натуральное число N. Определить, является ли оно палиндромом. Число-палиндром можно читать справа налево и слева направо одинаково. Например, C++
C++ Дано натуральное число n. Выяснить, является ли оно полным квадратом.Определить функ-цию, позволяющую распознавать полные квадраты
Проверьте, является ли число простым. C++
Дано натуральное число n. Определите, является ли оно степенью числа 2, и если является, то выведите значение этой степени C++
C++ Дано натуральное число n. Выяснить, является ли оно полным квадратом

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
flash_back
1 / 1 / 0
Регистрация: 07.02.2016
Сообщений: 65
16.06.2016, 15:57     Дано натуральное число n>1. Проверьте, является ли оно простым #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream>
#include <cmath>
 
using namespace std;
 
bool IsPrime(int n) {
    int min_divisor = 1;
    int sqrt_n = sqrt((double)n);
    for (int i = 2; i <= sqrt_n; i++) {
        if (n % i == 0)
        {
            min_divisor = i;
            break;
        }
    }
    if (min_divisor == 1)
        return true;
    else
        return false;
}
 
int main() {
    int n;
    cin >> n;
    if (IsPrime(n)) cout << "YES";
    else cout << "NO";
    return 0;
}
Yandex
Объявления
16.06.2016, 15:57     Дано натуральное число n>1. Проверьте, является ли оно простым
Ответ Создать тему
Опции темы

Текущее время: 14:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru