Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2004.01.29;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.52 MB
Время: 0.007 c
4-93744
Sergei
2003-11-22 11:29
2004.01.29
StdIn и StdOut


3-93367
Danilas
2004-01-02 16:32
2004.01.29
Как создать генератор в InterBase


1-93469
TankMan
2003-12-22 20:02
2004.01.29
Как хранить образ файла в памяти?


11-93412
solo1
2003-05-12 06:27
2004.01.29
Как сделать прокси? И вообще, где взять доку по Интернет-прогам


1-93546
Сережа
2004-01-17 23:31
2004.01.29
Таймер





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский