Здравствуйте, OlegO, Вы писали:
OO>Очень красивая задача (особенно ее решение):
OO>Для всех чисел от 1 до 1000000 , найти все числа третья степень которого в конце содержит само число.
OO>
OO>PS: В идеале решается с использованием только Int32 и без каких-либо классов для работы с большими числами.
Если число N k-значное, то выражение "в конце его m-той содержится само число" означает, что
N^m = N (mod 10^k)
Так как
a*b (mod c) = a (mod c) * b (mod c)
то последовательно перемножая N надо всё время проводить деление по модулю, т.е. оставлять только последние k цифр. Поэтому больших чисел получаться не должно — максимум квадрат исходного числа.