
Наибольший делитель Для заданного натурального числа n выведите его наибольший делитель, отличный
от n. Входные данные Одно натуральное число n (1 < n < 2147000000). Выходные данные Выведите наибольший делитель числа n, отличный от n. На С++

Ответы на вопрос

#include <locale>
#include <iostream>
#include <cstdlib>
using namespace std;
int main(int argc, char argv[]) {
setlocale(LC_ALL, "Russian");
long long int a;
int i;
cout << "Введите число" << endl;
cin >> a;
if (a <= 1) {
cout << "Ошибка ввода" << endl;
return 1;
}
if (a % 2 == 0) {
cout << "Наибольший делитель: " << a / 2 << endl;
}
else {
for (i = a / 2; i > 1 && a % i; --i);
if (i == 1)
cout << "Наибольший делитель: " << i << endl;
else {
i = a / 2;
while (a % i != 0)
--i;
cout << "Наибольший делитель: " << i << endl;
}
}
return 0;
}



Вы можете решить эту задачу на C++ с помощью следующего кода:
cpp#include <iostream>
int main() {
unsigned int n;
std::cin >> n;
for (unsigned int i = n - 1; i > 0; --i) {
if (n % i == 0) {
std::cout << i << std::endl;
break;
}
}
return 0;
}
Этот код сначала считывает натуральное число n
с клавиатуры. Затем он начинает итерироваться от n - 1
до 1
, и находит первый делитель числа n
, выводя его на экран и завершая выполнение программы с помощью оператора break
. Этот делитель будет наибольшим делителем числа n
, отличным от самого n
.


Похожие вопросы
Топ вопросов за вчера в категории Информатика







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