|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Kluchnikov Eugene 2:5003/39.64 24 Nov 2001 01:03:32 To : Sergey Martianov Subject : Арифметика,признак делимости. --------------------------------------------------------------------------------
SM> 2,4,8,3,9,6,5,25,10,100,1000,11.
SM> Интеpесуют пpизнаки делимости на дpугие свеpх вышепеpечисленных.
Все просто. К примеру, выведем признак делимости на q=23.
Пусть у нас число вида
__________________
... A5 A4 A3 A2 A1
Рассмотрим 100/23=4,3478260869565217391304347826087
^ ^
Hетрудно заметить, что у числа есть период (как у любой рациональной дроби)
Опишем следующую функцию.
Для начала
_____
x:=A2 A1
Далее 100=23*4+8. Значит x:=x+8*A3
Потом 1000=23*43+11; x:=x+11*A4
И так далее, получим 22 коэффициента, которые теперь, в цикле умножаем на
последующие цифры.
Таким образом получим примерно x=5*(q/2)*lg(n) где n - исходное число, lg -
десятичный логарифм. Если это число слишком большое - применим к нему функцию, и
так до тех пор, пока не сможем проверить x на делимость с q (крайний случай - x
станет примерно 10*q и перестанет уменьшаться).
_WBR_, _/*Eustas*/_.
--- Eustas is a part of Me
* Origin: My life for Aiur (2:5003/39.64)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/33763bfebd9d.html, оценка из 5, голосов 10
|