Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.01.29;
Скачать: CL | DM;

Вниз

кратность   Найти похожие ветки 

 
selena   (2004-01-06 14:57) [0]

как найти число кратное трем?


 
DVM ©   (2004-01-06 14:58) [1]

берешь любое целое, умножаешь на 3 :)
Вообще, что значит найти?


 
Ega23 ©   (2004-01-06 14:58) [2]

ша (ш ьщв 3)=0 ерут ....
В смысле,
if (i mod 3)=0 then ...


 
zapped ©   (2004-01-06 15:12) [3]

где найти?


 
имя   (2004-01-06 22:07) [4]

Удалено модератором


 
y-soft ©   (2004-01-06 22:15) [5]

В начальной школе, помнится, изучали такое свойство - число кратно трем, если нацело делится на 3 сумма его цифр.

Может поможет?


 
Dimaz-z ©   (2004-01-06 22:17) [6]

Можно так - if Round(i / 3) = i / 3 then
Но можно, как и сказали - if (i mod 3) = 0 then


 
Brahman ©   (2004-01-06 22:17) [7]

Предположим Вы - конь (ну или лошадь - не умаляя Ваших достоинств).
Начинаете бег с нуля и бежите иноходью по всем числам только вперед. Именно иноходью.
Для коня о четырех ногах иноходь - это деление по модулю 2.
Подозреваю, что для трехногого коня это должно быть делением по модулю 3. Впрочем, согласен, что нужно провести дополнительные исследования, но на них у нас cейчас нет ни средств? ни времени.
Так, шта...
Итого, как только очередная, по счету третьz нога ступает на очередное число, то оно и будет кратно трем.
Попробуйте, непременно попробуйте и Вам точно это понравиться - бегать иноходью:)


 
Sergey_Masloff   (2004-01-06 22:46) [8]

y-soft © (06.01.04 22:15) [5]
>В начальной школе, помнится, изучали такое свойство - число >кратно трем, если нацело делится на 3 сумма его цифр.
Оффтопик. Так все же изучали! ;-)
Я тут как-то упомянул про это на работе и меня все пытались опровергнуть - типа не изучали такого. Некоторые горячие головы даже ставили под сомнение сам факт этого правила! ;-) Серьезно...


 
Dimaz-z ©   (2004-01-06 22:51) [9]

Да, учили, но это лишние вычисления...


 
y-soft ©   (2004-01-06 22:52) [10]

>Sergey_Masloff (06.01.04 22:46) [8]

Помнится, там и другие признаки делимости были - на 7, на 11 etc :))

Это еще чуть ли не дедушка Пифагор со ученики вывели, если память мне не изменяет :))

А кто ставит под сомнение - пусть приведет опровергающий пример


 
Brahman ©   (2004-01-06 22:56) [11]

y-soft © (06.01.04 22:52) [10]
Sergey_Masloff (06.01.04 22:46) [8]

Господа ! Та при чем здесь пифа гора какая-то ?
Надо, чтобы это Матлаб не опроверг, и желательно проверить это на самом мощном компьютере и чтобы учихе тоже было понятно.
Или я не прав ?


 
Mihey ©   (2004-01-06 22:58) [12]

Составить таблицу всех чисел, делящихся на 3 и проверять по ней.


 
y-soft ©   (2004-01-06 23:00) [13]

>Dimaz-z © (06.01.04 22:51) [9]

Справедливо для чисел не более 32-х разрядов. Для очччень больших чисел может дать выигрыш при использовании рекурсии :)

>Brahman © (06.01.04 22:56) [11]

чтобы учихе тоже было понятно.

С этим, видимо, плохо :)


 
default ©   (2004-01-07 01:35) [14]

если число делится нацело на три, то и сумма его цифр кратно трём
типа 21, 2+1 mod 3 = 0; 18, 1+8 mod 3 = 0 и тд


 
default ©   (2004-01-07 01:36) [15]

сорри, все сообщения не прочитал...


 
Думкин ©   (2004-01-07 07:49) [16]

Это в десятичной системе счисления.
А учили точно - в 3-м классе, до сих пор и картинки по этой теме помню - корзинки с яйцами.


 
DVM ©   (2004-01-07 14:00) [17]

Вы еще сюда теорию сравнений и Алгебры и теории чисел приплетите! Как раз то что надо - из пушки по воробьям. Вначале же сказали MOD.


 
Думкин ©   (2004-01-07 16:28) [18]


> [17] DVM © (07.01.04 14:00)

А разве MOD - ответ? По-моему квинтэссенция вопроса подразумевает более глубокий анализ, и кстати, MOD - и теория чесел рядом.


 
Юрий Зотов ©   (2004-01-07 18:47) [19]

> Думкин © (07.01.04 16:28) [18]

MOD - это ответ. Причем правильный, но неполный. А полный ответ такой: MOD + F1.

Вот в этом "F1" как раз и зашиты те самые квинтэссенция и более глубокий анализ.


 
Думкин ©   (2004-01-07 22:49) [20]


> [19] Юрий Зотов © (07.01.04 18:47)

Неправда ваша. Вопрос хвучит так:
> как найти число кратное трем?
А вовсе не так:
"Как узнать кратно число 3-м или нет". Поэтому MOD+F1 - это еще не квинтэссенция и не анализ. :-)


 
y-soft ©   (2004-01-07 22:59) [21]

Постановка вопроса слишком расплывчатая, так что общий ответ дать невозможно

Все нижесказанное IMHO

Если надо выбрать числа, кратные 3-м из непрерывного диапазона чисел, то напрашивается "метод трехногого иноходца", предложенный Brahman ©.

Если же надо просто определить делимость произвольного числа, то для стандартных целочисленных типов оптимален Mod, а для очень больших чисел и нестандартных форматов (вроде двоично-десятичного) - исследование по признакам делимости. Для чисел 0..255 оптимальным вообще может оказаться проверка на вхождение в заранее сформированное множество (фактически - табличный метод от Mihey ©)

В любом случае надо уточнять условие и считать, а еще лучше, как правильно заметил Юрий Зотов ©, обратиться к F1 или даже перечитать курс прикладной математики...


 
y-soft ©   (2004-01-07 23:07) [22]

>Думкин © (07.01.04 22:49) [20]

Предыдущий пост, это рассуждения "вообще", а не реплика в Ваш адрес

Просто, пока писал, отсоединился модем... :))


 
Думкин ©   (2004-01-07 23:12) [23]

> [22] y-soft © (07.01.04 23:07)

Я понял. :-)
Так сеть и не восстановят?


 
goga   (2004-01-08 06:57) [24]

Хых. Признак делимости на три все знают. Но, по-моему, разделять на цифры число чуть посложнее, чем делать mod 3.(А по секрету скажу, что быстрее сделать так :
var
d : double;
i : integer;
begin
d:=1/3;
for i:=1 to X do
if (i*d=Round(i*d)) then ListBox1.Items.Add(FloatToStr(i));

end;
Потому как на деление времени в тучу раз больше, чем на умножение происходит.


 
Юрий Зотов ©   (2004-01-08 09:43) [25]

> goga (08.01.04 06:57) [24]

> Потому как на деление времени в тучу раз больше, чем на
> умножение происходит.

Но почему-то есть подозрение, что ЦЕЛОЧИСЛЕННОЕ деление выполняется все же быстрее, чем умножение С ПЛАВАЮЩЕЙ ТОЧКОЙ. И, тем более, быстрее, чем ДВА умножения (да еще плюс Round).


 
Ega23 ©   (2004-01-08 09:52) [26]

Вот позавчера ответ написал про MOD, а всё Рождество мучался - а почему число однозначно делится нацело на 3(9), если сумма его цифр делится нацело на 3(9)? Чуть башня не съехала - если бы не был "попивши пивка" - точно сел бы теорию писать.
Кстати, с прошедшим всех.


 
y-soft ©   (2004-01-08 10:49) [27]

>Ega23 © (08.01.04 09:52) [26]

А Вы проверьте еще одно утверждение (только осторожно, чтобы "башня" совсем не съехала :)) ):

В системе счисления по основанию A*n+1 на A без остатка делятся числа, сумма цифр которых делится на A без остатка...

Если утверждение верно, то напрашивается простой и универсальный способ проверки на делимость для чисел произвольной длины и не только в десятичной системе...

Например, если рассматривать некую последовательность байт как число, представленное в системе счисления по основанию 256, то для определения делимости на 3 будет справедливо следующее:


function IsNumber3Divisible(const Number : array of Byte) : boolean;
var
I : integer;
m : Byte;
begin
m := 0;
for I := Low(Number) to High(Number) do
m := (m + Number[I]) mod 3;
Result := m = 0;
end;


Ау, знатоки теории чисел! :)))

>Думкин © (07.01.04 23:12) [23]

Так сеть и не восстановят?

Увы, хотя каждый день клянутся :((

P.S. Естественно - утверждение доказать не пытался и на истинности не настаиваю :))


 
Думкин ©   (2004-01-08 11:07) [28]

> [27] y-soft © (08.01.04 10:49)

256^n сравнимо с 1 по модулю 3. Значит все верно, и утверждение верно.
Для 11 по десятичной вывод такой же, только там не 1,1,1.... а -1,1,-1,1 - отсюда и признак делимости на 11.


 
y-soft ©   (2004-01-08 12:05) [29]

>Думкин © (08.01.04 11:07) [28]

Завидую белой завистью профессиональным математикам! Они знают, там где непосвященные только догадываются... :)


 
Igorek ©   (2004-01-08 12:15) [30]

3


 
uw ©   (2004-01-08 13:29) [31]

>Думкин © (07.01.04 07:49) [16]
>А учили точно - в 3-м классе, до сих пор и картинки по этой теме помню - корзинки с яйцами.

Думкин, ты что-то перепутал. Когда с яйцами, то кратно двум!


 
Думкин ©   (2004-01-08 15:38) [32]

> [31] uw © (08.01.04 13:29)

Эх, не модераторы бы - сказал. Ведь ты про те что в корзинке носишь? Сочувствую. :-))))))



Страницы: 1 вся ветка

Текущий архив: 2004.01.29;
Скачать: CL | DM;

Наверх




Память: 0.54 MB
Время: 0.018 c
4-93736
DillerXX
2003-11-21 16:08
2004.01.29
message


1-93474
GRF
2004-01-14 21:07
2004.01.29
Как отследить выделение текста в ячейке StringGrid


1-93450
MakNik
2004-01-16 10:29
2004.01.29
dxDBGrid1


3-93398
Grihan
2003-12-30 12:13
2004.01.29
Как программно создать базу InterBase?


3-93388
Grihan
2003-12-30 15:06
2004.01.29
InterBase. Ошибка ibtTable.CreateTable;