Программа  18                        Кирсанов М.Н, 
Графы в Maple

 

Распаковка десятичного кода

>    restart:with(networks):

Десятичный код

>    KOD10:=61858:

>    Z:=convert(KOD10,base,2):

>    n2:=nops(Z):

Двоичный код

>    Z:=seq(Z[n2-i+1],i=1..n2);

Z := 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0

>    E1:={}: # Множество ребер

>    v1:=1: v2:=1:

>    F:=[1]: # Переменный список вершин

>    for i to n2 do

>      if Z[i]=1 then

>        v2:=v2+1:

>        F:=[op(F),v2];

>        E1:=E1 union {{v1,v2}};

>        v1:=v2:

>      fi;

>      if Z[i]=0 then  

>        F:=F[1..-2]:# Стираем последний элемент

>        v1:=F[-1];  # Последний элемент списка F

>      fi;

>    od;

>    E1;

{{1, 2}, {1, 9}, {2, 3}, {2, 6}, {3, 4}, {4, 5}, {6, 7}, {6, 8}}

>    new(G): n:=n2/2+1:  V:={$1..n}:

>    addvertex(V,G):

>    addedge(E1,G):

>    draw(G);

[Maple Plot]