Add tasks for all the new languages

This commit is contained in:
Tina Müller 2016-12-05 23:44:36 +01:00
parent 9dc3c2bb62
commit bba7bfd280
13208 changed files with 134745 additions and 0 deletions

View file

@ -0,0 +1,9 @@
proc grayEncode(n): auto =
n xor (n shr 1)
proc grayDecode(n): auto =
result = n
var t = n
while t > 0:
t = t shr 1
result = result xor t

View file

@ -0,0 +1,4 @@
import strutils
for i in 0 .. 32:
echo i, " => ", toBin(grayEncode(i), 6), " => ", grayDecode(grayEncode(i))

View file

@ -0,0 +1,21 @@
function gray_encode(integer n)
return xor_bits(n,floor(n/2))
end function
function gray_decode(integer n)
integer r = 0
while n>0 do
r = xor_bits(r,n)
n = floor(n/2)
end while
return r
end function
integer e,d
puts(1," N Binary Gray Decoded\n"&
"== ===== ===== =======\n")
for i=0 to 31 do
e = gray_encode(i)
d = gray_decode(e)
printf(1,"%2d %05b %05b %2d\n",{i,i,e,d})
end for

View file

@ -0,0 +1,14 @@
func bin2gray(n) {
n ^ (n >> 1);
}
func gray2bin(num) {
var bin = num;
while (num >>= 1) { bin ^= num };
return bin;
}
0..31 -> each { |i|
var gr = bin2gray(i);
printf("%d\t%b\t%b\t%b\n", i, i, gr, gray2bin(gr));
}