На вході програми маємо два цілих ненульових числа n і m, записаних в одному рядку через пропуск. Програма повинна вивести 1, якщо число n ділиться на m націло, і 0 у протилежному випадку
Допустим, что эта система счисления по основанию к. к - нам нужно найти.
Тогда 56 запишется в этой системе следующим образом. ПРи делении 56 на основании этой системы получаем какое -то целое число n, а в остатке 5.
56=n*k+5 (1)
Тогда 124 запишется в этой системе следующим образом. Здесь при делении 124 на основание этой системы получаем m, а в остатке 5.
124=m*k+5 (2)
Отнимем из второго уравнения первое
68=mk-nk
68=k*(m-n)
Теперь найдем целые делители числа 68. Вообще-то лучше разложить 68 на простые множители.
Это будет 2*2*17=68.
Значит множители 68 будут основаниями искомой системы.
1) 2 - по этому основанию не может быть искомая система, так как на пятерку число не будет заканчиваться, потому что пятерки нет в двоичной системе.
2) 2*2=4 - по этому основанию не может быть искомая система, так как на пятерку число не может оканчиваться. Пятерки нет в четверичной системе.
3) 17 - по этому основанию может быть система. Так как пятерка есть в этой системе.
56=17*3+5. То есть в семнадцатиричной системе 56 будет записываться как 35.
124=17*7+5. В семнадцатиричной системе 124 записывается в виде 75.
4) 2*17=34. - по этому основанию может быть искомая система. Здесь 56=34*1+22. Только вот остатком пятерка уже не является. Значит это решение нам не подходит.
5) 68 - основанием системы быть не может. Так как 56 не выразится через это основание
ответ: основанием этой системы может лишь быть 17.
Program Parabolas; Uses Crt; Var a, b, c, d, m, n, dis, x1, x2 : real; begin writeln('Введите коэфициенты первой параболы'); write('A=');readln(a); write('B=');readln(b); write('C=');readln(c); writeln('Введите коэфициенты второй параболы'); write('D=');readln(d); write('M=');readln(m); write('N=');readln(n); writeln('*** alphaues is thinking... ***'); if a=d then if b=m then if c=n then writeln('Параболы совпадают!') else writeln('Параболы не пересекаются!') else begin x1:=(c-n)/(b-m); writeln('Параболы пересекаются в 1-й точке: ',x1,' ',a*x1*x1+b*x1+c); end else begin dis:=(b-m)*(b-m)-4*(a-d)*(c-n); if dis>0 then begin x1:=((m-b)+sqrt(dis))/(2*(a-d)); x2:=((m-b)-sqrt(dis))/(2*(a-d)); writeln('Параболы пересекаются в 2-x точкax: '); writeln(x1,' ',a*x1*x1+b*x1+c); writeln(x2,' ',a*x2*x2+b*x1+c); end else if dis=0 then begin x1:=(m-b)/(2*(a-d)); writeln('Параболы пересекаются в 1-й точке: ',x1,' ',a*x1*x1+b*x1+c); end else writeln('Параболы не пересекаются!'); end; end.
Program MassXY; uses crt; const n = 20; var x,y:array [1..n] of real; i,k, maxnum, minnum:integer; max, min,temp: real; begin k:=1; randomize; for i:=1 to n do begin x[i]:=random(101)-50; if (1<=x[i]) and (x[i]<=2) then begin y[i]:=x[i]; k:=k+1; end; end; writeln('*** alphaues is thinking... ***'); max:=y[1]; maxnum:=1; min:=y[1]; minnum:=1; for i:=1 to k do begin if max<y[i] then begin max:=y[i]; maxnum:=i; end; if min>y[i] then begin min:=y[i]; minnum:=i; end; end; temp:=y[maxnum]; y[maxnum]:=y[minnum]; y[minnum]:=temp; writeln('Массив Y состоит из ',k,' элементов:'); for i:=1 to k do write(y[i],' '); end.
Program MatrixP; uses crt; const n=10; const m=8; var p:array[1..n,1..m] of integer; sum:array[1..n] of integer; st:array[1..m] of integer; i,j,tempsum,min,max,minnum,maxnum : integer; begin Randomize; {ввод и вывод матрицы} writeln('Начальная матрица:'); for i:=1 to n do begin for j:=1 to m do begin p[i,j]:= Random(100); write(p[i,j]:5); end; writeln; end; writeln('*** alphaues is thinking... ***'); {нахождение сумм строк} for i:=1 to n do begin tempsum:=0; for j:=1 to m do tempsum:=tempsum+p[i,j]; sum[i]:=tempsum; end; maxnum:=1; tempsum:=sum[1]; for i:=1 to n do if tempsum>sum[i] then begin tempsum:=sum[i]; minnum:=i; end; writeln('Min сумма в ',minnum,'-й строке: ',sum[minnum]); {нахождение max элемента матрицы} max:=p[1,1]; for i:=1 to n do for j:=1 to m do begin if max<p[i,j] then max:=p[i,j]; maxnum:=i; end; writeln('Max элемент ',max,' находится в ',maxnum,'-й строке'); for j:=1 to m do begin st[j]:=p[maxnum,j]; p[maxnum,j]:=p[minnum,j]; p[minnum,j]:=st[j]; end; {вывод матрицы} writeln('Результат:'); for i:=1 to n do begin for j:=1 to m do begin write(p[i,j]:5); end; writeln; end; end.
вообще-то маловато для такого задания.
Допустим, что эта система счисления по основанию к. к - нам нужно найти.
Тогда 56 запишется в этой системе следующим образом. ПРи делении 56 на основании этой системы получаем какое -то целое число n, а в остатке 5.
56=n*k+5 (1)
Тогда 124 запишется в этой системе следующим образом. Здесь при делении 124 на основание этой системы получаем m, а в остатке 5.
124=m*k+5 (2)
Отнимем из второго уравнения первое
68=mk-nk
68=k*(m-n)
Теперь найдем целые делители числа 68. Вообще-то лучше разложить 68 на простые множители.
Это будет 2*2*17=68.
Значит множители 68 будут основаниями искомой системы.
1) 2 - по этому основанию не может быть искомая система, так как на пятерку число не будет заканчиваться, потому что пятерки нет в двоичной системе.
2) 2*2=4 - по этому основанию не может быть искомая система, так как на пятерку число не может оканчиваться. Пятерки нет в четверичной системе.
3) 17 - по этому основанию может быть система. Так как пятерка есть в этой системе.
56=17*3+5. То есть в семнадцатиричной системе 56 будет записываться как 35.
124=17*7+5. В семнадцатиричной системе 124 записывается в виде 75.
4) 2*17=34. - по этому основанию может быть искомая система. Здесь 56=34*1+22. Только вот остатком пятерка уже не является. Значит это решение нам не подходит.
5) 68 - основанием системы быть не может. Так как 56 не выразится через это основание
ответ: основанием этой системы может лишь быть 17.
Program Parabolas;
Uses Crt;
Var
a, b, c, d, m, n, dis, x1, x2 : real;
begin
writeln('Введите коэфициенты первой параболы');
write('A=');readln(a);
write('B=');readln(b);
write('C=');readln(c);
writeln('Введите коэфициенты второй параболы');
write('D=');readln(d);
write('M=');readln(m);
write('N=');readln(n);
writeln('*** alphaues is thinking... ***');
if a=d then
if b=m then
if c=n then
writeln('Параболы совпадают!')
else
writeln('Параболы не пересекаются!')
else
begin
x1:=(c-n)/(b-m);
writeln('Параболы пересекаются в 1-й точке: ',x1,' ',a*x1*x1+b*x1+c);
end
else
begin
dis:=(b-m)*(b-m)-4*(a-d)*(c-n);
if dis>0 then
begin
x1:=((m-b)+sqrt(dis))/(2*(a-d));
x2:=((m-b)-sqrt(dis))/(2*(a-d));
writeln('Параболы пересекаются в 2-x точкax: ');
writeln(x1,' ',a*x1*x1+b*x1+c);
writeln(x2,' ',a*x2*x2+b*x1+c);
end
else
if dis=0 then
begin
x1:=(m-b)/(2*(a-d));
writeln('Параболы пересекаются в 1-й точке: ',x1,' ',a*x1*x1+b*x1+c);
end
else writeln('Параболы не пересекаются!');
end;
end.
Program MassXY;
uses crt;
const n = 20;
var
x,y:array [1..n] of real;
i,k, maxnum, minnum:integer;
max, min,temp: real;
begin
k:=1;
randomize;
for i:=1 to n do
begin
x[i]:=random(101)-50;
if (1<=x[i]) and (x[i]<=2) then
begin
y[i]:=x[i];
k:=k+1;
end;
end;
writeln('*** alphaues is thinking... ***');
max:=y[1];
maxnum:=1;
min:=y[1];
minnum:=1;
for i:=1 to k do
begin
if max<y[i] then
begin
max:=y[i];
maxnum:=i;
end;
if min>y[i] then
begin
min:=y[i];
minnum:=i;
end;
end;
temp:=y[maxnum];
y[maxnum]:=y[minnum];
y[minnum]:=temp;
writeln('Массив Y состоит из ',k,' элементов:');
for i:=1 to k do
write(y[i],' ');
end.
Program MatrixP;
uses crt;
const n=10;
const m=8;
var
p:array[1..n,1..m] of integer;
sum:array[1..n] of integer;
st:array[1..m] of integer;
i,j,tempsum,min,max,minnum,maxnum : integer;
begin
Randomize;
{ввод и вывод матрицы}
writeln('Начальная матрица:');
for i:=1 to n do
begin
for j:=1 to m do
begin
p[i,j]:= Random(100);
write(p[i,j]:5);
end;
writeln;
end;
writeln('*** alphaues is thinking... ***');
{нахождение сумм строк}
for i:=1 to n do
begin
tempsum:=0;
for j:=1 to m do
tempsum:=tempsum+p[i,j];
sum[i]:=tempsum;
end;
maxnum:=1;
tempsum:=sum[1];
for i:=1 to n do
if tempsum>sum[i] then
begin
tempsum:=sum[i];
minnum:=i;
end;
writeln('Min сумма в ',minnum,'-й строке: ',sum[minnum]);
{нахождение max элемента матрицы}
max:=p[1,1];
for i:=1 to n do
for j:=1 to m do
begin
if max<p[i,j] then max:=p[i,j];
maxnum:=i;
end;
writeln('Max элемент ',max,' находится в ',maxnum,'-й строке');
for j:=1 to m do
begin
st[j]:=p[maxnum,j];
p[maxnum,j]:=p[minnum,j];
p[minnum,j]:=st[j];
end;
{вывод матрицы}
writeln('Результат:');
for i:=1 to n do
begin
for j:=1 to m do
begin
write(p[i,j]:5);
end;
writeln;
end;
end.