Наибольший делитель
Для заданного натурального числа n выведите его наибольший делитель, отличный от n.
Входные данные
Одно натуральное число n (1 < n < 2147000000).
Выходные данные
Выведите наибольший делитель числа n, отличный от n. На С++
Ответы
Ответ дал:
1
#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;
}
Вас заинтересует
1 год назад
1 год назад
1 год назад
1 год назад
3 года назад
8 лет назад