Соня решила завести банковскую карту. Она записала в блокнот разные приятные восьмизначные числа, одно из которых планирует выбрать в качестве пин-кода. Она не знает, что для пин-кода нужно всего четыре цифры. Напиши программу, которая будет превращать Сонино число в четырёхзначное. Программа должна разбить восьмизначное число на два четырёхзначных и сложить их.
Если в результате сложения получается пятизначное число, нужно убрать из него первую (самую левую) цифру.
Ввод Вывод
Ввод-12 345 678 Вывод-6912
Ввод-98 765 432 Вывод-5308
Примечание: 1234 + 5678 = 6912, 9876 + 5432 = 15 308 -> 5308.
В ПИТОНЕ!
Const n=3; m=3;
Var A:array[1..n, 1..m] of integer;
i,j,s,s1,k:integer; sr:real;
BEGIN
Writeln('Массив А: ');
For i:=1 to n do
begin
s:=0;
for j:=1 to m do
begin
A[i,j]:=Random(10);
Write(A[i,j]:2);
s:=s+A[i,j];
sr:=s/i;
end;
Writeln;
end;
Writeln;
k:=0;
For i:=1 to n do
begin
s1:=0;
for j:=1 to m do
If A[i,j]>sr then
begin
inc(k);
s1:=s1+A[i,j];
end;
Writeln('Сумма строки №',i,' : ',s1);
end;
Writeln('Сред. ариф. массива: ',sr:2:2);
Writeln('Количество: ',k);
END.
c := 0; // начальное значение счётчика
for i := 1 to 9 do // цикл по i
if A[i - 1] < A[i] then begin // если текущий элемент больше предыдущего
c := c + 1; // то увеличиваем счётчик на 1
t := A[i]; // и меняем текущий элемент местами с предыдущим
A[i] := A[i - 1];
A[i - 1] := t
end;
Последние три строчки перед end - обычный алгоритм обмена значениями между двумя переменными (t = a; a = b; b = t).
Итак, моделируем, что делает программа и считаем число обменов.
0) 6 9 7 2 1 5 0 3 4 8 - исходный массив
1) 6 9 7 2 1 5 0 3 4 8 -> 9 6 7 2 1 5 0 3 4 8 ОБМЕН
2) 9 6 7 2 1 5 0 3 4 8 -> 9 7 6 2 1 5 0 3 4 8 ОБМЕН
3) 9 7 6 2 1 5 0 3 4 8 ОК
4) 9 7 6 2 1 5 0 3 4 8 ОК
5) 9 7 6 2 1 5 0 3 4 8 -> 9 7 6 2 5 1 0 3 4 8 ОБМЕН
6) 9 7 6 2 5 1 0 3 4 8 ОК
7, 8, 9) Ноль будет "всплывать" в конец, 3 ОБМЕНА
Всего будет 6 обменов, c = 6.