Вот два варианта решения: 1)В первом варианте программа выдает неверный ответ, если в числе есть хотя бы один ноль.
var a, n, i, min, tmp, m: integer;
begin m := 1; read(a); tmp := a; n := 0; min := 10; while tmp > 0 do begin n := n + 1; if(tmp mod 10 < min) then min := tmp mod 10; tmp := tmp div 10; end; for i := 1 to n do m := m * 10; a := a + (min * m); a := a * 10; a := a + min; write(a); end.
2)Второй вариант с использованием строки:
var s: string; i, min: integer;
begin readln(s); min := 10; for i := 1 to length(s) do if(strtoint(s[i]) < min) then min := strtoint(s[i]); s := s + inttostr(min); s := inttostr(min) + s; writeln(s); end.
vitbond12
04.09.2021
1)var a,b,c,a1,b1,c1,s:integer; begin writeln('Введите количество часов в первом моменте времени'); readln(a); writeln('Введите количество минут в первом моменте времени'); readln(b); writeln('Введите количество секунд в первом моменте времени'); readln(c); writeln('Введите количество часов во втором моменте времени'); readln(a1); writeln('Введите количество минут во втором моменте времени'); readln(b1); writeln('Введите количество секунд во втором моменте времени'); readln(c1); s:=abs(a*3600+b*60+c-a1*3600-b1*60-c1); writeln(s,' секунд'); end. 2)var a,b:integer; s:real; begin writeln('Введите первое число'); readln(a); writeln('Введите второе число'); readln(b); if (a+b) mod 2 =0 then s:=a*b else s:= a/b; writeln(s); end. 3)var b,s,n:real; begin writeln('Введите количество часов'); readln(n); n:=n/3; s:=2*power(2,(n-1)); writeln(s,' амёб'); end. 4)var a:array[1..7]of integer; i:integer; begin for i:=1 to 7 do begin a[i]:=random(11); writeln('a[',i,']= ',a[i]); end; end.
morozmd
04.09.2021
1)var a,b,c,a1,b1,c1,s:integer; begin writeln('Введите количество часов в первом моменте времени'); readln(a); writeln('Введите количество минут в первом моменте времени'); readln(b); writeln('Введите количество секунд в первом моменте времени'); readln(c); writeln('Введите количество часов во втором моменте времени'); readln(a1); writeln('Введите количество минут во втором моменте времени'); readln(b1); writeln('Введите количество секунд во втором моменте времени'); readln(c1); s:=abs(a*3600+b*60+c-a1*3600-b1*60-c1); writeln(s,' секунд'); end. 2)var a,b:integer; s:real; begin writeln('Введите первое число'); readln(a); writeln('Введите второе число'); readln(b); if (a+b) mod 2 =0 then s:=a*b else s:= a/b; writeln(s); end. 3)var b,s,n:real; begin writeln('Введите количество часов'); readln(n); n:=n/3; s:=2*power(2,(n-1)); writeln(s,' амёб'); end. 4)var a:array[1..7]of integer; i:integer; begin for i:=1 to 7 do begin a[i]:=random(11); writeln('a[',i,']= ',a[i]); end; end.
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Дано натуральное число. найти минимальную цифру и приписать её в начало и в конец числа
1)В первом варианте программа выдает неверный ответ, если в числе есть хотя бы один ноль.
var
a, n, i, min, tmp, m: integer;
begin
m := 1;
read(a);
tmp := a;
n := 0;
min := 10;
while tmp > 0 do
begin
n := n + 1;
if(tmp mod 10 < min) then min := tmp mod 10;
tmp := tmp div 10;
end;
for i := 1 to n do
m := m * 10;
a := a + (min * m);
a := a * 10;
a := a + min;
write(a);
end.
2)Второй вариант с использованием строки:
var
s: string;
i, min: integer;
begin
readln(s);
min := 10;
for i := 1 to length(s) do
if(strtoint(s[i]) < min) then min := strtoint(s[i]);
s := s + inttostr(min);
s := inttostr(min) + s;
writeln(s);
end.