Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.73
Leert
0 / 0 / 0
Регистрация: 20.03.2014
Сообщений: 37
#1

Написать рекурсивную функцию, определяющую, является ли заданное натуральное число простым - C++

08.07.2014, 16:18. Просмотров 1986. Ответов 4
Метки нет (Все метки)

Помогите сделать это задание....
Написать рекурсивную функцию, определяющую, является ли заданное натуральное число простым.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.07.2014, 16:18
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Написать рекурсивную функцию, определяющую, является ли заданное натуральное число простым (C++):

Напишите рекурсивную функцию, которая определит, является ли заданное натуральное число первичным. - C++
С++. Напишите рекурсивную функцию, которая определит, является ли заданное натуральное число первичным. Натуральное число вводим сами. ...

Написать рекурсивную функцию, что переворачивает заданное натуральное число - C++
помогите пожалуйста

Определить, является ли заданное натуральное число простым - C++
Определить, является ли заданное натуральное число простым

Проверить, является ли заданное натуральное число простым - C++
у меня есть алгоритм вывода простых чисел, как зделать так штоб можна было ввести число и выдать сообщение што оно просте или нет void...

Определить, является ли заданное натуральное число простым - C++
Определить, является ли заданное натуральное число простым. Циклический алгоритм. Блок схема, тест. Кода не надо. Добавлено...

Определить, является ли заданное натуральное число простым - C++
Определить, является ли заданное натуральное число простым. Выходные данные: Вывести YES или NO. Ввод 29 Вывод YES

4
nmcf
5542 / 4852 / 1645
Регистрация: 14.04.2014
Сообщений: 19,687
08.07.2014, 17:34 #2
C++
1
2
3
4
5
6
bool f(unsigned int n, unsigned int d)
{
    if(d > n / 2) return true;
    if(n % d == 0) return false;
    return f(n, d + 1);
}
Вызывать так:
C++
1
2
3
4
5
6
7
8
if(f(n, 2))
{
// простое
}
else
{
  // не простое
}
1
Sergio Leone
2457 / 1102 / 402
Регистрация: 07.06.2014
Сообщений: 3,259
09.07.2014, 02:42 #3
nmcf, хорошее решение!
Но не без косяков. Как Вы думаете, что вернёт ваша функция f(n, 2) при n = 0 и n = 1 ?
0
nmcf
5542 / 4852 / 1645
Регистрация: 14.04.2014
Сообщений: 19,687
09.07.2014, 09:04 #4
Имеешь в виду строгое определение простого числа? Ну так не надо вызывать функцию с 0 и 1.
Автор может "допилить", добавив проверку.
0
Sergio Leone
2457 / 1102 / 402
Регистрация: 07.06.2014
Сообщений: 3,259
09.07.2014, 11:52 #5
Цитата Сообщение от nmcf Посмотреть сообщение
Ну так не надо вызывать функцию с 0 и 1.
А Вы уверены, что автор темы или те, кто придут в тему за вашей функцией об этом догадаются?

Цитата Сообщение от nmcf Посмотреть сообщение
Автор может "допилить", добавив проверку.
вот, я же к этому и веду, ведь достаточно было бы дописать в начале функции дописать:
C
1
if(n < 2) return false;
чтобы зануды, вроде меня, не цеплялись...
0
09.07.2014, 11:52
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.07.2014, 11:52
Привет! Вот еще темы с ответами:

Рекурсия: определить, является ли заданное натуральное число простым - C++
Написать функцию определения, является ли заданное натуральное число простым. (рекурсивно)

Напишите функцию, определяющую является ли число простым - C++
2. Напишите функцию, определяющую является ли число простым (Целое число является простым, если оно делится только на 1 и на само себя....

Написать рекурсивную функцию, определяющую, является ли симметричной указанная часть заданной строки - C++
Необходимо написать рекурсивную функцию, определяющую, является ли симметричной часть строки s, начиная с i-го элемента и кончая j-м. ...

Написать рекурсивную функцию, определяющую максимальное число - C++
Дано целое число N (N&gt;0). Написать рекурсивную функцию, чтобы определить: 1) максимальную цифру числа (переменная Max), 2) количество...


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

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

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