Romanovna-yana
?>

Составить программу в паскале. вам дано три числа a, b и c. вы должны в таком порядке приписать эти числа друг к другу, чтобы в результате получилось минимальное число. например, если a=12, b=5, c=3, приписыванием можно получить числа 1253, 1235, 3125, 3512, 5123, 5312. минимальным среди этих чисел является 1235.

Информатика

Ответы

myudanova631
Var a, b, c, p1, p2, p3, p4, p5, p6 : longint;     s1, s2, s3, s4, s5, s6, a1, b1, c1 : string; begin     read (a);     read (b);     read (c);     str(a,a1);     str(b,b1);     str(c,c1);     s1: =a1+b1+c1;     s2: =a1+c1+b1;     s3: =b1+a1+c1;     s4: =b1+c1+a1;     s5: =c1+a1+b1;     s6: =c1+b1+a1;     val(s1,p1,a);     val(s2,p2,a);     val(s3,p3,a);     val(s4,p4,a);     val(s5,p5,a);     val(s6,p6,a);     a: =p1;     if p2< a then a: =p2;     if p3< a then a: =p3;     if p4< a then a: =p4;     if p5< a then a: =p5;     if p6< a then a: =p6;     writeln(a); end.p.s. грубо говоря мы собираем все возможные варианты, потом находим  наименьшее и выводим его.p.s.s. val(a,  b,  c) это процедура преобразования строки а в числовое значение b, а c проверка, преобразовалась ли она правильно. и str(a, b) процедура перевода числового значения a, в строку b;
galiyamart6671
Var   a: array[1..3] of string;   i, j, k, min, x: integer; begin  for i : = 1 to 3 do   begin       write('введите ',i,' число: ');     readln(a[i]);   end; x : = strtoint(a[1] + a[2] + a[3]);   min : = x;   for i : = 1 to 3 do for j : = 1 to 3 do       if j < > i then         for k : = 1 to 3 do           if (j < > k) and (i < > k) then           begin             x : = strtoint(a[i] + a[j] + a[k]);             if x < min then min : = x;           end; writeln('min=', min) end.
Vello Olga
Перебираем все варианты комбинаций, 1 - прыжек вперед, 0 - прыжек назад получается что это те варианты, когда колво прыжков в одну сторону кратно 3 # код на ruby 2.2.3p173 count = 0 for i in 0..2**9-1       s = ("000000000"+i.to_s(2))[-       vertix = 0       s.chars.each {|c|             vertix = (vertix + (c == "1" ? 1 : -1)) % 3 ;             # p [c, vertix]       }       if vertix == 0             p s             count += 1       end end p count ответ 170
adman7
Input n m = n do while n < > -777   input n   if n > m then m = n loop print m пример ? 42 ? 39 ? -50 ? 127 ? 0 ? 14 ? -777   127 dim a(1 to 100) cls i = 0 do     input n     if n < > -777 then           i = i + 1           a(i) = abs(n)     end if loop until n = -777 n = i for i = 1 to n   print a(i); " "; next i пример ? 45 ? -12 ? 0 ? 23 ? -5 ? 14 ? -777   45    12    0    23    5    14 dim c(1 to 5), d(1 to 5), m(1 to 5) cls print "c(5): " for i = 1 to 5     input c(i) next i print "d(5): " for i = 1 to 5     input d(i) next i print "m(5)="; s = 0 for i = 1 to 5   m(i) = c(i) - d(i)   if m(i) > 0 then s = s + m(i)   print m(i); next i print print "s="; s пример c(5): ? 5 ? 12 ? -6 ? 0 ? 17 d(5): ? -2 ? 7 ? 13 ? -11 ? -5 m(5)= 7  5 -19  11  22 s= 45

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Составить программу в паскале. вам дано три числа a, b и c. вы должны в таком порядке приписать эти числа друг к другу, чтобы в результате получилось минимальное число. например, если a=12, b=5, c=3, приписыванием можно получить числа 1253, 1235, 3125, 3512, 5123, 5312. минимальным среди этих чисел является 1235.
Ваше имя (никнейм)*
Email*
Комментарий*