-Музыка

 -Подписка по e-mail

 

 -Поиск по дневнику

Поиск сообщений в fixin

 -Сообщества

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 12.12.2002
Записей: 4343
Комментариев: 24598
Написано: 35607


Проверка нечетности числа с помощью арифметики

+ в цитатник

Cообщение скрыто для удобства комментирования.
Прочитать сообщение


Аноним   обратиться по имени Четверг, 24 Июля 2008 г. 02:04 (ссылка)
<Учитывая, что разрядность компьютера ограничена>
Если хранящая переменная строго типизирована. Мы с тобой уже рассматривали разрядности переменных 1С 8.0, не хранящихся в базе.
<для 8, К = 13.5, не делится на 3, четное > справедливо только для бесконечной периодической дроби.
Не канает, ибо
13,5/3=4,5
4,5*3=13,5
1С округлит, и скажет - равны, а Дельфи- нет :-)
Ответить С цитатой В цитатник
Мурэйкер   обратиться по имени Четверг, 24 Июля 2008 г. 02:12 (ссылка)
Насчёт проверки чётности... Не проще ли проверять - делится ли число на 2?
Ответить С цитатой В цитатник
fixin   обратиться по имени Re: Ответ в fixin; Проверка нечетности числа с помощью арифметики Четверг, 24 Июля 2008 г. 09:52 (ссылка)
Исходное сообщение Мурэйкер: Насчёт проверки чётности... Не проще ли проверять - делится ли число на 2?


КАК?

LI 7.05.22 beta
Ответить С цитатой В цитатник
fixin   обратиться по имени Re: Ответ в fixin; Проверка нечетности числа с помощью арифметики Четверг, 24 Июля 2008 г. 09:53 (ссылка)
Исходное сообщение Hadgehogs: <Учитывая, что разрядность компьютера ограничена>

Если хранящая переменная строго типизирована. Мы с тобой уже рассматривали разрядности переменных 1С 8.0, не хранящихся в базе.

<для 8, К = 13.5, не делится на 3, четное > справедливо только для бесконечной периодической дроби.

Не канает, ибо

13,5/3=4,5

4,5*3=13,5

1С округлит, и скажет - равны, а Дельфи- нет :-)


Я уже знаю, что метод ошибочный

LI 7.05.22 beta
Ответить С цитатой В цитатник
Мурэйкер   обратиться по имени Четверг, 24 Июля 2008 г. 10:40 (ссылка)
если (x/2) = ЦЕЛОЕ(х/2)
Ответить С цитатой В цитатник
Аноним   обратиться по имени КАК? Четверг, 24 Июля 2008 г. 12:57 (ссылка)
Исходное сообщение fixinКАК?
А как ты проверяешь что на 3 делится? Также и на 2.
Ответить С цитатой В цитатник
fixin   обратиться по имени Re: Ответ в fixin; Проверка нечетности числа с помощью арифметики Четверг, 24 Июля 2008 г. 15:19 (ссылка)
Исходное сообщение Мурэйкер: если (x/2) = ЦЕЛОЕ(х/2)


Не все так просто, кури ветку.
В колонках играет: A может быть варона {a mozhet bit varona}

LI 7.05.22 beta
Ответить С цитатой В цитатник
fixin   обратиться по имени Re: Ответ в fixin; Проверка нечетности числа с помощью арифметики Четверг, 24 Июля 2008 г. 15:19 (ссылка)
Исходное сообщение DKA:
Исходное сообщение fixinКАК?
А как ты проверяешь что на 3 делится? Также и на 2.


На 2 не получится. При делении на 3 получается периодическая дробь, а при делении на 2 - нет...
В колонках играет: A может быть варона {a mozhet bit varona}

LI 7.05.22 beta
Ответить С цитатой В цитатник
Аноним   обратиться по имени Понедельник, 28 Июля 2008 г. 22:10 (ссылка)
А как проверить, делится ли число на 3? Учитывая, что разрядность компьютера ограничена, мы сначала делим Х на 3, а затем умножаем на 3, получаем К. Если К = Х, то число делится на 3, иначе не делится.


А как проверить, делится ли число на 2? Учитывая, что разрядность компьютера ограничена, мы сначала делим Х на 2, а затем умножаем на 2, получаем К. Если К = Х, то число делится на 2, иначе не делится.

И стоило огород городить?
Ответить С цитатой В цитатник
fixin   обратиться по имени Re: Ответ в fixin; Вторник, 29 Июля 2008 г. 09:11 (ссылка)
Исходное сообщение snakeye:
А как проверить, делится ли число на 3? Учитывая, что разрядность компьютера ограничена, мы сначала делим Х на 3, а затем умножаем на 3, получаем К. Если К = Х, то число делится на 3, иначе не делится.




А как проверить, делится ли число на 2? Учитывая, что разрядность компьютера ограничена, мы сначала делим Х на 2, а затем умножаем на 2, получаем К. Если К = Х, то число делится на 2, иначе не делится.



И стоило огород городить?


На конкретном примере плиз, тогда увидишь, что ты тупишь.

LI 7.05.22 beta
Ответить С цитатой В цитатник
Аноним   обратиться по имени Вторник, 29 Июля 2008 г. 10:58 (ссылка)
Гым, пожалста. Если переменные целые (а понятие чётности применимо только к целым числам), то
4 / 2 = 2; 2 * 2 = 4; 4 = 4
5 / 2 = 2; 2 * 2 = 4; 5 != 5
Ещё, как вариант, можно проверить остаток от деления на два:
4 % 2 = 0;
5 % 2 = 1;
Ещё, в совсем отмороженном случае, можно просто последний бит проверить
4 & 1 = 0;
5 & 1 = 1;
Ответить С цитатой В цитатник
fixin   обратиться по имени Re: Ответ в fixin; Вторник, 29 Июля 2008 г. 13:47 (ссылка)
Исходное сообщение snakeye: Гым, пожалста. Если переменные целые (а понятие чётности применимо только к целым числам), то

4 / 2 = 2; 2 * 2 = 4; 4 = 4

5 / 2 = 2; 2 * 2 = 4; 5 != 5

Ещё, как вариант, можно проверить остаток от деления на два:

4 % 2 = 0;

5 % 2 = 1;

Ещё, в совсем отмороженном случае, можно просто последний бит проверить

4 & 1 = 0;

5 & 1 = 1;


Операции взятия целой части и остатка в условиях задачи запрещены, кури внимательнее...
В колонках играет: 08 HARE KRISHNA MAHA-MANTRA.mp3 {HARE KRISHNA MAHA-MANTRA}

LI 7.05.22 beta
Ответить С цитатой В цитатник
fixin   обратиться по имени Re: Ответ в fixin; Вторник, 29 Июля 2008 г. 13:48 (ссылка)
Исходное сообщение snakeye: Гым, пожалста. Если переменные целые (а понятие чётности применимо только к целым числам), то

4 / 2 = 2; 2 * 2 = 4; 4 = 4

5 / 2 = 2; 2 * 2 = 4; 5 != 5

Ещё, как вариант, можно проверить остаток от деления на два:

4 % 2 = 0;

5 % 2 = 1;

Ещё, в совсем отмороженном случае, можно просто последний бит проверить

4 & 1 = 0;

5 & 1 = 1;


Взятие последнего бита и сдвиги тоже запрещены...
В колонках играет: 08 HARE KRISHNA MAHA-MANTRA.mp3 {HARE KRISHNA MAHA-MANTRA}

LI 7.05.22 beta
Ответить С цитатой В цитатник
Аноним   обратиться по имени (пожимая плечами) Вторник, 29 Июля 2008 г. 15:07 (ссылка)
Тогда первый вариант. Можно ещё в цикле двойку вычитать, пока результат больше двух. Это дольше, но тогда даже деление с умножением не нужны.
Ответить С цитатой В цитатник
fixin   обратиться по имени Re: Ответ в fixin; Среда, 30 Июля 2008 г. 09:37 (ссылка)
Исходное сообщение snakeye: Тогда первый вариант. Можно ещё в цикле двойку вычитать, пока результат больше двух. Это дольше, но тогда даже деление с умножением не нужны.


Циклы запрещены условием задачи, с циклом любой дурак справится.

LI 7.05.22 beta
Ответить С цитатой В цитатник
Комментировать К дневнику Страницы: [1] [Новые]
 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку