Const n=10; m=5; var i,j,s:integer; a:array[1..m,1..n]of integer; b:array[1..n]of integer; begin writeln('Массив А:'); for i:=1 to m do begin for j:=1 to n do begin a[i,j]:=random(10); write(a[i,j]:3); end; writeln; end; for j:=1 to n do begin s:=0; for i:=1 to m do s:=s+a[i,j]; b[j]:=s; end; writeln('Массив В:'); for i:=1 to n do write(b[i]:3); end.
Это, конечно, ужасный вариант с "много Copy", но если надо ... Program primer4; var s:string; i,k:integer; begin writeln('подсчет количества глухих согласных в тексте'); writeln('введите текст'); readln(s); k:=0; for i:=1 to length(s) do if (copy(s,i,1)='к')or(copy(s,i,1)='п')or(copy(s,i,1)='с')or (copy(s,i,1)='т')or(copy(s,i,1)='ф')or(copy(s,i,1)='х')or (copy(s,i,1)='ц')or(copy(s,i,1)='ч')or(copy(s,i,1)='ш')or(copy(s,i,1)='щ') then k:=k+1; writeln(k); end.
Пример: подсчет количества глухих согласных в тексте введите текст подсчет количества глухих согласных в тексте 17
Умножение числа на 2 в двоичной системе эквивалентно его сдвигу влево на один разряд. При этом старший разряд старшей тетрады должен перейти в новую, третью тетраду или он будет утерян. Но по условию, после умножения число по-прежнему имеет два разряда, следовательно мы должны потерять старший разряд безболезненно, а это возможно только если он нулевой. Тогда первоначальное число должно быть записано как
а после удвоения его запись примет вид
Запишем сумму цифр исходного числа p1:
Теперь запишем сумму удвоенного числа p2:
По условию эти две суммы равны и мы составляем уравнение:
Полученное уравнение решается на множестве двоичных чисел. Поскольку исходное число двузначное, по крайней мере в старшем разряде оно содержит цифру, отличную от нуля. Следовательно, b3 не может равняться нулю и остается только положить b3=1. Тогда уравнение (1) примет следующий вид:
Учитывая, что каждый бит может принимать значения только 0 и 1, мы должны найти такие комбинации бит, которые дадут в сумме 7=4+2+1, потому что у нас в уравнении только такие коэффициенты. Сгруппируем члены в (2):
Полученная система уравнений будет иметь 7 вариантов решений (вариант a2=a1=a0=0 исключается в силу необходимости наличия цифры в старшем разряде), которым в старшем разряде будут соответствовать цифры от 001(2) до 111(2) или от 1(10) до 7(10).
ответ: 7
Замечание: Из (3) можно легко найти числа, которые соответствуют заданным условиям: 30, 45, 60, 75, 90, 105, 120 (все в десятичной системе счисления). В 16-ричной системе они запишутся как 1E, 2D, 3C, 4B, 5A, 69,
n=10;
m=5;
var
i,j,s:integer;
a:array[1..m,1..n]of integer;
b:array[1..n]of integer;
begin
writeln('Массив А:');
for i:=1 to m do
begin
for j:=1 to n do
begin
a[i,j]:=random(10);
write(a[i,j]:3);
end;
writeln;
end;
for j:=1 to n do
begin
s:=0;
for i:=1 to m do s:=s+a[i,j];
b[j]:=s;
end;
writeln('Массив В:');
for i:=1 to n do write(b[i]:3);
end.