Нужно соединить 7 и 8, или 6 и 10, или 9 и 10.
Или непрямые ребра: 6 и 7, или 6 и 8, или 7 и 9, или 7 и 10, или 8 и 9.
Длина цикла во всех трех случаях равна 7.
1) находим расстояния от начала координат до точек ( длины отрезков )
S = x^2+ y ^2 , где x и y - координаты двух точек
2) сравниваем их
Program P2;// ИМЯ ПРОГРАММЫvar k,s:integer; //РАХДЕЛ ОПИСАНИЕ ПЕРЕМЕННЫХ,ЦЕЛЫЙ ТИП ДАННЫХbegin//НАЧАЛО ПРОГРАММЫs:=0; for k:=1 to 20 do s:=s+sqr(k);writeln('сумма = ',s); readln end.
//Pascal ABC.NET 3.1 сборка 1256
uses
GraphABC;
Var
n:integer;
procedure square(var n:integer);
begin
readln(n);
rectangle(window.Center.X-n div 2,window.Center.Y-n div 2,window.Center.X+n div 2,window.Center.Y+n div 2);
end;
procedure points(n:integer);
Var
x,y,i:integer;
begin
i:=0;
while i<1000 do
begin
x:=random(window.Center.X-n div 2+1,window.Center.X+n div 2-1);
y:=random(window.Center.Y-n div 2+1,window.Center.Y+n div 2-1);
setpixel(x,y,rgb(random(255),random(255),random(255)));
inc(i);
end;
end;
begin
randomize;
square(n);
points(n);
end.
Я думаю, что в процедуре шифрования надо добавить проверку, типа такой
If g=0 then k:=(j-d) mod 32 else k:=(j+d);
If k > 32 then k := k-32;
if a[i]=b[j] then c:=c+b[k];