skw, Вот сделал на СИ:
#include <stdio.h>
#include <math.h>
#include <conio.h>
int Three2Dec(long x)
{
int i=0,r=0,t;
while(x)
{
t=x%10;
r+=t*pow(3,i++);
x/=10;
}
return r;
}
void WriteDecInBin(int x)
{
int y,f=1;
for(int i=sizeof(int)*8-1;i>=0;i--)
{
if((y=(x>>i)&1)==1 && f) f=0;
if(!f) printf("%d",y);
}
}
void main()
{
clrscr();
long a;
printf("Please enter the digit: \n");
scanf("%d",&a);
printf("Result: ");
WriteDecInBin(Three2Dec(a));
scanf("\n");
}
P.S. Функцию вывода усложнил пропуском первых нулей