{Описание констант} Const phi0=30; // Начальный угол наклона маятника w0=0; // Начальная угловая скорость маятника l=400; // Длина нити r=8; // Радиус груза light=2; // Радиус блика k=0.02; // Коэффициент сопротивления m=1; // Масса груза xp=320; // Координата x точки подвеса yp=10; // Координата y точки подвеса g=9.8; // Ускорение свободного падения tau=0.4; // Шаг по времени
{Описание переменных} Var x, y, xx, yy, w, eps, phi: Real;
{Процедура инициализации графического режима 640x480} Procedure OpenGraph; Var Driver, Mode, ErrorCode: Integer; Begin Driver:=Detect; InitGraph(Driver, Mode, 'c:\bp\bgi'); ErrorCode:=GraphResult; If ErrorCode <> grOK Then Halt(1); End;
{Процедура исключения мерцаний изображений} Procedure Glimmer; Begin Repeat Until Port[$3da] And 8 <> 0; End;
В шестеричной системе алфавит состоит из цифр 0,1,...5. Четырехразрядное число по условиям задания (1) и (2) имеет вид aabb, где a=1,2,...5, b=0,1,...5. В развернутой записи число имеет вид a×6³+a×6²+b×6+b×1 = 6²×a(6+1)+b(6+1) = 7(36a+b) При этом по условию (3) можно записать, что k² = 7(36a+b) Чтобы число 7(36a+b) было полным квадратом, 36a+b должно быть кратно 7, а остаток от деления (36a+b) на 7 также должен быть полным квадратом. Получаем, что 36a+b = 7m² Минимальное значение 36a+b равно 36×1+0 = 36, следовательно m>2 (при m=2 получим 7×4=28, что меньше 36). При m=3 получаем 36a+b = 63 и при a∈[1;5], b∉[0;5] решений нет. При m=4 получаем 36a+b = 112 и находим a=3, b=4 - есть решение! При m=5 получаем 36a+b = 175 и при a∈[1;5], b∉[0;5] решений нет. При m=6 получаем 36a+b = 175 и получаем, что a=7, а это недопустимо. Дальше смысла проверять нет. Итак, a=3, b=4, число 3344₆ = 7×(36×3+4) = 784₁₀ = 28²
{Программа
СВОБОДНЫЕ КОЛЕБАНИЯ КРУГОВОГО МАТЕМАТИЧЕСКОГО МАЯТНИКА}
Program Math_01;
{Подключение модулей подпрограмм}
Uses Crt, Graph;
{Описание констант}
Const phi0=30; // Начальный угол наклона маятника
w0=0; // Начальная угловая скорость маятника
l=400; // Длина нити
r=8; // Радиус груза
light=2; // Радиус блика
k=0.02; // Коэффициент сопротивления
m=1; // Масса груза
xp=320; // Координата x точки подвеса
yp=10; // Координата y точки подвеса
g=9.8; // Ускорение свободного падения
tau=0.4; // Шаг по времени
{Описание переменных}
Var x, y, xx, yy, w, eps, phi: Real;
{Процедура инициализации графического режима 640x480}
Procedure OpenGraph;
Var Driver, Mode, ErrorCode: Integer;
Begin
Driver:=Detect;
InitGraph(Driver, Mode, 'c:\bp\bgi');
ErrorCode:=GraphResult;
If ErrorCode <> grOK Then Halt(1);
End;
{Процедура исключения мерцаний изображений}
Procedure Glimmer;
Begin
Repeat
Until Port[$3da] And 8 <> 0;
End;
{Процедура вывода изображения маятника на экран}
Procedure Display;
Begin
Glimmer;
SetColor(Black);
SetFillStyle(SolidFill, Black);
Line(xp, yp, Round(xx), Round(yy));
FillEllipse(Round(xx), Round(yy), r, r);
SetLineStyle(SolidLn, 0, NormWidth);
SetColor(DarkGray);
Line(xp, yp, Round(x), Round(y));
SetLineStyle(SolidLn, 0, NormWidth);
SetColor(DarkGray);
SetFillStyle(SolidFill, DarkGray);
FillEllipse(Round(x), Round(y), r, r);
SetColor(LightGray);
SetFillStyle(SolidFill, White);
FillEllipse(Round(x)-3, Round(y)-3, light, light);
End;
{Основная часть программы}
Begin
OpenGraph;
SetFillStyle(SolidFill, DarkGray);
Bar(xp-20, yp-5, xp+20, yp-1);
phi:=phi0*Pi/180;
w:=w0;
x:=xp+l*sin(phi);
y:=yp+l*cos(phi);
Repeat
Begin
xx:=x;
yy:=y;
eps:=-k*w/m-g*sin(phi)/l;
w:=w+eps*tau;
phi:=phi+w*tau;
x:=xp+l*sin(phi);
y:=yp+l*cos(phi);
Display;
End;
Until KeyPressed;
CloseGraph;
End.
Четырехразрядное число по условиям задания (1) и (2) имеет вид aabb,
где a=1,2,...5, b=0,1,...5.
В развернутой записи число имеет вид
a×6³+a×6²+b×6+b×1 = 6²×a(6+1)+b(6+1) = 7(36a+b)
При этом по условию (3) можно записать, что k² = 7(36a+b)
Чтобы число 7(36a+b) было полным квадратом, 36a+b должно быть кратно 7, а остаток от деления (36a+b) на 7 также должен быть полным квадратом.
Получаем, что 36a+b = 7m²
Минимальное значение 36a+b равно 36×1+0 = 36, следовательно m>2 (при m=2 получим 7×4=28, что меньше 36).
При m=3 получаем 36a+b = 63 и при a∈[1;5], b∉[0;5] решений нет.
При m=4 получаем 36a+b = 112 и находим a=3, b=4 - есть решение!
При m=5 получаем 36a+b = 175 и при a∈[1;5], b∉[0;5] решений нет.
При m=6 получаем 36a+b = 175 и получаем, что a=7, а это недопустимо. Дальше смысла проверять нет.
Итак, a=3, b=4, число 3344₆ = 7×(36×3+4) = 784₁₀ = 28²
ответ: 3344