не знаю, как с алгоритмом, а находить остатки деления на 3, 4, 8 можно по признакам делимости.
1) n mod 3
число делится на 3, если сумма его цифр кратна трем.
пусть дано число 373412. его сумма цифр 3+7+3+4+1+2 = 20. 20 на 3 не делится, но делится 18 (ближайшее меньшее). разница 2 - это и есть нужный ответ. 373412 мод 3 = 2
2) n mod 4
число делится на 4, если две его последние цифры нули или делятся на 4. пусть дано число 37535627345. его две последние цифры 45. 45 на 4 не делится, но делится 44. разница 1. это и есть ответ. 37535627345 mod 4 = 1
3) n mod 8
самый сложный вариант. 8 = 4х2. как и для случая получения остатка по mod 4 получаем остаток по двум последним цифрам. далее, если третья справа цифра нечетная, добавляем к результату 4.
45684373 mod 8. для числа 73 находим остаток от деления на 4. на 4 делится 72, так что остаток тут 1. перед 73 стоит нечетная цифра 3, поэтому добавляем 4, итого 1+4=5. 45684373 mod 8 = 5.
878746345242 mod 8. 42 mod 4 =2 (уже не буду подробно писать). перед 42 стоит 2 - четное число. результат не меняем. 878746345242 mod 8 = 2.
так что ничего волшебного.
Поделитесь своими знаниями, ответьте на вопрос: