Задания
Версия для печати и копирования в MS Word

Ниже на че­ты­рех язы­ках про­грам­ми­ро­ва­ния за­пи­сан ал­го­ритм. По­лу­чив на вход число x, этот ал­го­ритм пе­ча­та­ет два числа: L и M. Ука­жи­те наи­боль­шее число x, при вводе ко­то­ро­го ал­го­ритм пе­ча­та­ет сна­ча­ла 4, а потом 5.

 

C++Python

#include <iostream>

using namespace std;

 

int main()

{

    int x, L, M, Q;

    cin >> x;

    Q = 9;

    L = 0;

    while (x >= Q){

        L = L + 1;

        x = x - Q;

    }

    M = x;

    if (M < L){

        M = L;

        L = x;

    }

    cout << L << endl << M << endl;

    return 0;

}

x = int(input())

Q = 9

L = 0

while x >= Q:

    L = L + 1

    x = x - Q

M = x

if M < L:

    M = L

    L = x

print(L)

print(M)

Пас­кальАл­го­рит­ми­че­ский язык

var x, L, M, Q: integer;

begin

    readln(x);

    Q := 9;

    L := 0;

    while x >= Q do begin

        L := L + 1;

        x := x - Q;

    end;

    M := x;

    if M < L then begin

        M := L;

        L := x;

    end;

    writeln(L);

    writeln(M);

end.

алг

нач

    цел x, L, M, Q

    ввод x

    Q := 9

    L := 0

    нц пока x >= Q

        L := L + 1

        x := x - Q

    кц

    M := x

    если M < L

        то

            M := L

            L := x

    все

    вывод L, нс, M

кон

Спрятать решение

Ре­ше­ние.

Дан­ный ал­го­ритм ищет два числа числа: целая часть от де­ле­ния зна­че­ния x на 9 и оста­ток от де­ле­ния зна­че­ния x на 9. Далее, если оста­ток от де­ле­ния числа x на 9 мень­ше, чем целая часть от этого де­ле­ния, ал­го­ритм ме­ня­ет ме­ста­ми зна­че­ния L и M.

За­ме­тим, что в ре­зуль­та­те ра­бо­ты ал­го­рит­ма на экран будут вы­ве­де­ны два числа: 4 и 5. Зна­чит, чтобы найти наи­боль­шее число x, число 5 долж­но яв­лять­ся целой ча­стью от де­ле­ния x на 9, а число 4  — остат­ком от де­ле­ния x на 9. Таким об­ра­зом, по­лу­ча­ем ответ  — x  =  9 · 5 + 4  =  49.

 

Ответ: 49.

 

При­ведём дру­гое ре­ше­ние на языке Python.

for i in range(10000, 0, -1):

x = i

Q = 9

L = 0

while x >= Q:

L = L + 1

x = x - Q

M = x

if M < L:

M = L

L = x

if L == 4 and M == 5:

print(i)

break

Источники:
Раздел кодификатора ФИПИ: