Andreeva
?>

Какая строка получится в результате применения ниже программы к строке, состоящей из 1000 идущих подряд цифр 8? в ответе запишите полученную строку. начало пока нашлось (999) или нашлось (888) если нашлось (888) то заменить (888, 9) иначе заменить (999, 8) конец если конец пока конец

Информатика

Ответы

Kochinev4
В начале в строке находилось 333 троек по 8 плюс одна 8, всего 1000 восьмерок.
1. При выполнения цикла каждая из троек 8 будет заменена на одну 9. Значит у нас получится строка длиной в 334 символа, где 333 девятки и последний символ - восьмерка
2. Далее 333 девятки заменятся на 111 восьмерок плюс последняя восьмерка - всего получим 112 восьмерок
3. Из 112 восьмерок получится 37 девяток и одна восьмерка
4. И 37 девяток получим 12 восьмерок плюс одна девятка и плюс последняя восьмерка
5. 12 восьмерок дадут 4 девятки плюс последние 9 и 8
6. И наконец получаем строку 8998
ответ: 8998
upmoskovskiy
Const
    handsfree = false;

var
    a: array[1..100] of integer;
    i, n: integer;

begin
    {ввод массива}
    if handsfree then
        n := random(20) + 5
    else begin
        write('n = ');
        readln(n);
    end;
    
    writeln('Данные массива:');
    for i := 1 to n do
    begin
        if handsfree then begin
            a[i] := random(100) - 50;
            write(a[i], ' ');
        end
        else readln(a[i]);
    end;
    writeln();
    
    {изменение элементов}
    writeln('Вывод прямой:');
    for i := 1 to n do
        write(a[i], ' ');
    writeln();
    
        {изменение элементов}
    writeln('Вывод обратный:');
    for i := n downto 1 do
        write(a[i], ' ');
end.
alekseymedvedev1981
Const
    handsfree = false;

var
    a: array[1..100] of integer;
    i, n: integer;

begin
    {ввод массива}
    if handsfree then
        n := random(20) + 5
    else begin
        write('n = ');
        readln(n);
    end;
    
    writeln('Данные массива:');
    for i := 1 to n do
    begin
        if handsfree then begin
            a[i] := random(100) - 50;
            write(a[i], ' ');
        end
        else readln(a[i]);
    end;
    writeln();
    
    {изменение элементов}
    writeln('Вывод прямой:');
    for i := 1 to n do
        write(a[i], ' ');
    writeln();
    
        {изменение элементов}
    writeln('Вывод обратный:');
    for i := n downto 1 do
        write(a[i], ' ');
end.

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

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

Какая строка получится в результате применения ниже программы к строке, состоящей из 1000 идущих подряд цифр 8? в ответе запишите полученную строку. начало пока нашлось (999) или нашлось (888) если нашлось (888) то заменить (888, 9) иначе заменить (999, 8) конец если конец пока конец
Ваше имя (никнейм)*
Email*
Комментарий*