gogogold2208
07.02.2021 10:00

Ребят быстрее 7 класс инфарматика только обязательно должно быть дано​

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Lbailieva
04.11.2020 14:13
Три варианта решения:
1)
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.
2)
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; 
if(min=0)then write(0,a) 
else write(a)
end.
3)
var 
a, i, min, tmp: integer;
begin 
read(a); 
tmp := a; 
min := 10; 
while tmp > 0 do  
begin   
if(tmp mod 10 < min) then min := tmp mod 10;   
tmp := tmp div 10; 
end; 
write(min, a, min);
end.
0,0(0 оценок)
Ответ:
dndzanton
09.11.2022 16:06
Вот два варианта решения:
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.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота