Program velobike;
Uses crt,graph;
Var gr:integer;
gm:integer;
x,y:integer;
begin
gr:=detect;
initgraph(gr,gm,'..\bgi');
x:=600;
y:=250;
repeat
for x:=0 to 600 do
cleardevice;
setbkcolor(8);
setcolor(2);
setlinestyle(1,0,1);
rectangle(1,3,639,475);
setfillstyle(1,6);
bar(2,280,638,475);
setcolor(6);
setfillstyle(1,2);
circle(x-150,y,27);
floodfill(x-140,y-10,6);
setcolor(yellow);
circle(x-150,y,3);
circle(x-0,y,27);
floodfill(x-0,y-10,6);
circle(x-0,y,3);
circle(x-70,y,10);
circle(x-70,y,2);
arc(x-150,y,355,190,30);
arc(x-0,y,445,200,30);
setlinestyle(0,0,2);
line(0,280,639,280);
setcolor(white);
setlinestyle(0,2,3);
moveto(x-110,y-50);
lineto(x-15,y-50);
moveto(x-150,y);
lineto(x-70,y);
lineto(x-10,y-35);
moveto(x-70,y);
lineto(x-110,y-50);
lineto(x-170,y-35);
lineto(x-123,y-35);
moveto(x-0,y);
lineto(x-20,y-73);
lineto(x-40,y-60);
moveto(x-20,y-73);
lineto(x-12,y-90);
lineto(x-180,y-10);
lineto(x-30,y);
setlinestyle(0,0,1);
lineto(x-55,y-20);
setcolor(red);
lineto(x-45,y-20);
setcolor(8);
lineto(x-75,y+20);
lineto(x-85,y+20);
lineto(x-115,y-63);
moveto(x-40,y-60);
lineto(x-50,y-60);
moveto(x-12,y-90);
lineto(x-22,y-90);
setlinestyle(0,0,3);
moveto(x-123,y-63);
lineto(x-103,y-63);
delay(10000);
end;
settextstyle(0,0,3);
outtextxy(30,240,'XoTuTe IIocMoTpeTb eLLLe?');
outtextxy(100,280,' Ha}|{MuTe Enter ');
readln;
until keypressed;
closegraph;
end.
Program velobike;
Uses crt,graph;
Var gr:integer;
gm:integer;
x,y:integer;
begin
gr:=detect;
initgraph(gr,gm,'..\bgi');
x:=600;
y:=250;
repeat
for x:=0 to 600 do
begin
cleardevice;
setbkcolor(8);
setcolor(2);
setlinestyle(1,0,1);
rectangle(1,3,639,475);
setfillstyle(1,6);
bar(2,280,638,475);
setcolor(6);
setfillstyle(1,2);
circle(x-150,y,27);
floodfill(x-140,y-10,6);
setcolor(yellow);
circle(x-150,y,3);
setcolor(6);
setfillstyle(1,2);
circle(x-0,y,27);
floodfill(x-0,y-10,6);
setcolor(yellow);
circle(x-0,y,3);
setcolor(yellow);
circle(x-70,y,10);
circle(x-70,y,2);
setcolor(yellow);
arc(x-150,y,355,190,30);
arc(x-0,y,445,200,30);
setcolor(2);
setlinestyle(0,0,2);
line(0,280,639,280);
setcolor(white);
setlinestyle(0,2,3);
moveto(x-110,y-50);
lineto(x-15,y-50);
moveto(x-150,y);
lineto(x-70,y);
lineto(x-10,y-35);
moveto(x-70,y);
lineto(x-110,y-50);
moveto(x-150,y);
lineto(x-110,y-50);
moveto(x-150,y);
lineto(x-170,y-35);
lineto(x-123,y-35);
moveto(x-0,y);
lineto(x-20,y-73);
lineto(x-40,y-60);
moveto(x-20,y-73);
lineto(x-12,y-90);
moveto(x-150,y);
lineto(x-180,y-10);
moveto(x-0,y);
lineto(x-30,y);
setcolor(6);
setlinestyle(0,0,1);
moveto(x-70,y);
lineto(x-55,y-20);
setcolor(red);
lineto(x-45,y-20);
setcolor(8);
moveto(x-70,y);
lineto(x-75,y+20);
setcolor(6);
lineto(x-85,y+20);
setcolor(6);
moveto(x-110,y-50);
lineto(x-115,y-63);
setcolor(red);
moveto(x-40,y-60);
lineto(x-50,y-60);
moveto(x-12,y-90);
lineto(x-22,y-90);
setcolor(red);
setlinestyle(0,0,3);
moveto(x-123,y-63);
lineto(x-103,y-63);
delay(10000);
end;
settextstyle(0,0,3);
cleardevice;
setcolor(red);
outtextxy(30,240,'XoTuTe IIocMoTpeTb eLLLe?');
outtextxy(100,280,' Ha}|{MuTe Enter ');
readln;
until keypressed;
readln;
closegraph;
end.
Приведём все степени к основанию 2
2^3702-2^468+2^1620-108
-108 можно представить как -128 + 16 + 4
2^3702-2^468+2^1620-2^7 + 2^4 + 2^2
Теперь выстраиваем степени в порядке убывания:
2^3702+2^1620-2^468-2^7 + 2^4 + 2^2
В выражении два вычитания подряд, избавимся от этого, заменив -2^468 на -2^469 + 2^468
2^3702+2^1620 -2^469+2^468-2^7 + 2^4 + 2^2
2^3702 - 1 единица
2^4 - 1 единица
2^2 - 1 единица
Количество единиц в вычитаниях будет равно разнице степеней. Например 1000000-100=1111
2^1620 -2^469 - количеств единиц 1620-469 = 1151
2^468-2^7 - количество единиц 468-7 = 461
Общее количество единиц равно 3+1151+461 = 1615