|
v7: Как инвертировать двоичную цифру? |
☑ |
0
DES
28.01.13
✎
14:43
|
если 1 то 0
если 0 то 1
?
|
|
1
andrewalexk
28.01.13
✎
14:44
|
:) х=1-у
|
|
2
Бешеная Нога
28.01.13
✎
14:45
|
(1) красава
|
|
3
andreymongol82
28.01.13
✎
14:45
|
c= a XOR b
|
|
4
DES
28.01.13
✎
14:47
|
(1) помнил, но забыл. ;)
|
|
5
Mikeware
28.01.13
✎
14:49
|
(1) а троичную? :-)
|
|
6
DES
28.01.13
✎
14:50
|
(5) по модулю Пи проще.
|
|
7
andrewalexk
28.01.13
✎
15:06
|
(5) :) и как же ты это видишь?
|
|
8
1Сергей
28.01.13
✎
15:28
|
(5)
Функция Из10в3(Чис)
Если Чис>2 Тогда
Возврат ""+Из10в3(Цел(Чис/3))+(Чис%3);
Иначе
Возврат ""+(Чис%3);
КонецЕсли;
КонецФункции
Функция Из3в10(Чис)
ДлинаЧисла = СтрДлина(Чис);
Если ДлинаЧисла=1 Тогда
Возврат Число(Чис);
Иначе
Возврат Из3в10(Лев(Чис, ДлинаЧисла-1)) * 3 + Число(Прав(Чис,1));
КонецЕсли;
КонецФункции
Процедура Сформировать()
ВведенноеЧисло = 0;
Если ВвестиЧисло(ВведенноеЧисло, "", 15, 0)=1 Тогда
ТроичноеВходящее = Из10в3(ВведенноеЧисло);
ТроичноеИсходящее = "";
Для Идн = 1 по СтрДлина(ТроичноеВходящее) Цикл
ТроичноеИсходящее = ТроичноеИсходящее + (2-Число(Сред(ТроичноеВходящее, Идн, 1)));
КонецЦикла;
Сообщить("Результат: "+Из3в10(ТроичноеИсходящее));
КонецЕсли;
КонецПроцедуры
накидал побырому
|
|
9
1Сергей
28.01.13
✎
15:40
|
чо, неправильно?
|
|
10
Йохохо
28.01.13
✎
16:02
|
(9) конечно ) в троичной нет числа 3
|
|
11
Йохохо
28.01.13
✎
16:04
|
я стормозил, но "Возврат ""+(Чис%3);" лучше поправить
|
|
12
dk
28.01.13
✎
16:07
|
перегнать в строку и заменить 0>3 1>4 а потом 3>1 4>0
|
|