В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
sanzarerzanylu8
sanzarerzanylu8
12.12.2022 06:06 •  Информатика

Дано натуральное число 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; }

Показать ответ
Ответ:
leka777166
leka777166
20.08.2020 13:59
#include <iostream>
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
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота