Федор Комов
Знаток
(281)
9 лет назад
Вот пример:
int main()
{
int k,e;
std::cin >> k;
e=k%10;
std::cout << e;
system("pause");
return 0;
}
Вводишь к примеру число 12
12%10=2
Если целочисленное деление :
12/10=1
Globe
Просветленный
(24836)
9 лет назад
Алгоритм примерно такой. Пусть надо найти остаток от деления 26 на 5.
1) Переходим в двоичную систему счисления. Получаем 26=11010 и 5=101.
2) Как видим, делимое имеет пять значащих разрядов, а делитель - три. Сдвинем делитель на 5-3=2 разряда, получим 10100. Это число меньше 11010. Вычтем: 11010-10100= 110
3) остаток из п. 2 имеет то же число значащих разрядов и больше делителя. Вычтем: 110-101=1
4) Получили остаток 1. Это и есть ответ.
То есть, деление сводится к двоичным сдвигам и вычитаниям.