
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.97.14.81] |
![]() |
|
Страницы: (2) [1] 2 все ( Перейти к последнему сообщению ) |
![]() |
Сообщ.
#1
,
|
|
как?
|
Сообщ.
#2
,
|
|
|
А деление на -2 в цикле чем не нравится?
|
Сообщ.
#3
,
|
|
|
Если по степеням 2, то битовыми проверками и сдвигами.
|
![]() |
Сообщ.
#4
,
|
|
"деление на -2 в цикле"? не догнал, виноват
можно примерчик для например числа 13? -Added Цитата andriano @ Если по степеням 2, то битовыми проверками и сдвигами. именно по минус 2 |
Сообщ.
#5
,
|
|
|
13
![]() ![]() div mod -6 1 3 0 -1 1 1 1 0 1 остатки снизу вверх записываем 11101 |
![]() |
Сообщ.
#6
,
|
|
если на пасе, то
![]() ![]() n:=13; repeat writeln(n mod -2); n:=n div -2; until n=0; выдает 1 0 1 -1 |
Сообщ.
#7
,
|
|
|
В паскале mod возвращает результат со знаком равным знаку первого операнда. А тебе нужен mod, возвращающий только неотрицательные остатки.
|
![]() |
Сообщ.
#8
,
|
|
ихдежеговзять? не хочется лепить кучу условий (если это минус, а это плюс , то ... и т.д.)
для 2345 ответ моего 0-кода еще страшнее: 1 0 0 -1 0 -1 0 0 1 0 0 -1 Правильный ответ: 1100101111001 |
Сообщ.
#9
,
|
|
|
Цитата darcus @ Написать ихдежеговзять? ![]() ![]() ![]() function modNeg2(a: integer): integer; begin modNeg2 := abs(a mod (-2)); end; |
![]() |
Сообщ.
#10
,
|
|
сенькс однозначно. Получилось типа так:
Ответ собираем в строку s (и в нужном порядке): ![]() ![]() def roo(n): if n==0: return '0' s='' while n!=0: m=n%-2 n=n/-2 if m==0: s='0'+s else: s='1'+s if m==-1: n=n+1 return s print roo(input()) |
Сообщ.
#11
,
|
|
|
Ё моё, подробности: задача сводится к изменению системы исчисления из десятичной в двоичную.
Решено-перерешено. |
![]() |
Сообщ.
#12
,
|
|
только основание системы счисления < 0
|
Сообщ.
#13
,
|
|
|
Реализация на С#:
**************************************** int m=77855442; Console.WriteLine(Convert.ToString(m,2)); **************************************** выдает типа 100101000111111101011010010 press any key...... и никаких тебе условий...... |
Сообщ.
#14
,
|
|
|
kiryshka, ну хотя бы заголовок темы нужно читать
![]() Основание (-2). |
Сообщ.
#15
,
|
|
|
да какая разница? остаток от деления что на -2, что на 2 один и тот же.....(если не учитывать отрицательный результат)
|