Вопрос по информатике:
Дано натуральное число n1. Выведите его наименьший делитель, отличный от 1.
Решение оформите в виде функции MinDivisor.
Туплю. Что не так с кодом?
#include
#include
using namespace std;
int MinDivisor (int n)
{
cin >> n;
int i = 2, min_den = 1;
int sqrt_n = sqrt((double)n);
while (i <= sqrt_n)
{
if (n % i == 0)
{
min_den = i;
break;
}
i++;
}
if (min_den == 1)
cout << n;
else
cout << min_den;
return 0;
}
- 12.09.2018 13:37
- Информатика
- remove_red_eye 9665
- thumb_up 28
Ответы и объяснения 1
using namespace std;
int MinDivisor (int n)
{
int i = 2, min_den = 1;
while (i <= n/2)
{
if (n % i == 0)
{
min_den = i;
break;
}
i++;
}
return min_den;
}
int main() {
int n, min;
cin >> n;
min = MinDivisor(n);
if (min == 1)
cout << n;
else
cout << min;
return 0;
}
Пример:
169
13
- 13.09.2018 00:46
- thumb_up 21
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.