Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
lrf
0 / 0 / 0
Регистрация: 02.03.2014
Сообщений: 26
1

Проверка числа на простоту (нужны комментарии)

29.05.2014, 20:26. Просмотров 2230. Ответов 3
Метки нет (Все метки)

объясните пожалуйста, как в данной функции выполняется проверка числа на простоту. как можно поподробнее

C++
1
2
3
4
5
6
7
8
9
bool Prime(int const num)// проверка числа на простоту
{
    for(int i = 2; i <= static_cast<int>(sqrt(num)); ++i)
    {
        if(num % i == 0)
            return false;
    }
    return 1 != num;
}
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.05.2014, 20:26
Ответы с готовыми решениями:

Проверка числа на простоту
Помогите решить 2 задачки, пожалуйста, 1. Написать программу для проверки натурального числа N...

Проверка числа на простоту
Написать программу, которая запрашивает массив натуральных чисел (ввод с клавиатуры), а затем...

Проверка числа на простоту
Почему, если необ. проверить, является ли число простым(напр. ч-ло n),можно просматривать делители...

Проверка числа на простоту
Дано натуральное число N, проверить, простое оно или нет. Увеличить его значение на натуральное...

Проверка числа на простоту
я реализовал вот так, но алгоритм очень долгий, мне надо проверять очень большое количество чисел...

3
grikukan
64 / 64 / 54
Регистрация: 23.09.2012
Сообщений: 212
29.05.2014, 20:28 2
Лучший ответ Сообщение было отмечено lrf как решение

Решение

Просто перебираем все числа от 2 до корня из проверяемого числа, и если проверяемое число делится на перебираемое, то оно не простое, а если не делится ни на одно - то составное...
1
lrf
0 / 0 / 0
Регистрация: 02.03.2014
Сообщений: 26
29.05.2014, 20:29  [ТС] 3
а почему до корня?
0
grikukan
64 / 64 / 54
Регистрация: 23.09.2012
Сообщений: 212
29.05.2014, 20:34 4
Лучший ответ Сообщение было отмечено lrf как решение

Решение

Это легко доказать.
Пусть у числа n все делители больше его корня. Рассмотри один из делителей - p (p>sqrt(n)), тогда q=n/p;
Мы знаем, что sqrt(n)*sqrt(n)=n и что p*q=n. Но если p>sqrt(n) по допущению, то q<sqrt(n). Противоречие.
Отсюда вывод: если у числа есть делители, то хотя один делитель меньше либо равен его корню.
1
29.05.2014, 20:34
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.05.2014, 20:34

Проверка числа на простоту
Дано натуральное число n&gt;1. Проверьте, является ли оно простым. Программа должна вывести слово YES,...

Проверка на простоту числа
как мне сделать так, чтобы узнать простое является число или составное, не через bool, а как-нибудь...

Проверка числа на простоту
Хочу проверить число на простоту, но не вижу ошибку в коде. Можете подсказать, что не так? ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.