Ниже на пяти языках программирования записан алгоритм. Получив на вход число x, этот алгоритм печатает числа: a и b. Укажите наибольшее четырехзначное число x, при вводе которого алгоритм печатает сначала 5, а потом 7.
Бейсик | Python
DIM X, Y, A, B AS INTEGER
A = 10
B = 0
INPUT X
WHILE X > 0
Y = X MOD 10
X = X \ 10
IF Y B THEN B = Y
WEND
PRINT A
PRINT B
|
a = 10
b = 0
x = int(input())
while x > 0:
y = x % 10
x = x // 10
if y b:
b = y
print(a)
print(b)
Паскаль | Алгоритмический язык
var x, y, a, b: integer;
begin
a := 10;
b := 0;
readln(x);
while x > 0 do
begin
y := x mod 10;
x := x div 10;
if y b then
b := y;
end;
writeln(a);
writeln(b)
end.
|
алг
нач
цел x, y, a, b
a := 10
b := 0
ввод x
нц пока x > 0
y := mod(x, 10)
x := div(x, 10)
если y b
то b := y
все
кц
вывод a, нс, b
кон
Си++
#include <iostream>
using namespace std;
int main()
{
int x, y, a, b;
a = 10;
b = 0;
cin >> x;
while (x > 0)
{
y = x % 10;
x = x / 10;
if (y b)
b = y;
}
cout
Бейсик | Python
DIM X, Y, A, B AS INTEGER
A = 10
B = 0
INPUT X
WHILE X > 0
Y = X MOD 10
X = X \ 10
IF Y B THEN B = Y
WEND
PRINT A
PRINT B
|
a = 10
b = 0
x = int(input())
while x > 0:
y = x % 10
x = x // 10
if y b:
b = y
print(a)
print(b)
Паскаль | Алгоритмический язык
var x, y, a, b: integer;
begin
a := 10;
b := 0;
readln(x);
while x > 0 do
begin
y := x mod 10;
x := x div 10;
if y b then
b := y;
end;
writeln(a);
writeln(b)
end.
|
алг
нач
цел x, y, a, b
a := 10
b := 0
ввод x
нц пока x > 0
y := mod(x, 10)
x := div(x, 10)
если y b
то b := y
все
кц
вывод a, нс, b
кон
Си++
#include <iostream>
using namespace std;
int main()
{
int x, y, a, b;
a = 10;
b = 0;
cin >> x;
while (x > 0)
{
y = x % 10;
x = x / 10;
if (y b)
b = y;
}
cout
💡 Пошаговый разбор и решение:
Рассмотрим цикл, число шагов которого зависит от изменения переменной x:
while x > 0 do begin
y := x mod 10;
x:= x div 10;
...
end;
Т. к. оператор div возвращает целую часть от деления, то при делении на 10 это = сильно отсечению последней цифры. Следовательно, цикл выполнится четыре раза.
В переменную a записывается остаток от деления числа x на 10 при условии, что этот остаток меньше числа уже записанного в переменной a. В переменную b записывается остаток от деления числа x на 10 при условии, что этот остаток больше числа уже записанного в переменной b. Таким образом, в переменную a записывается наименьшая цифра числа x, а в переменную b — наибольшая. Значит, наибольшее число, удовлетворяющее условию задачи — 7775.
Ответ: 7775.
Приведём другое решение на языке Python.
for i in range(10000, 1, -1):
a = 10
b = 0
x = i
while x > 0:
y = x % 10
x = x // 10
if y b:
b = y
if a == 5 and b == 7:
print(i)
break
while x > 0 do begin
y := x mod 10;
x:= x div 10;
...
end;
Т. к. оператор div возвращает целую часть от деления, то при делении на 10 это = сильно отсечению последней цифры. Следовательно, цикл выполнится четыре раза.
В переменную a записывается остаток от деления числа x на 10 при условии, что этот остаток меньше числа уже записанного в переменной a. В переменную b записывается остаток от деления числа x на 10 при условии, что этот остаток больше числа уже записанного в переменной b. Таким образом, в переменную a записывается наименьшая цифра числа x, а в переменную b — наибольшая. Значит, наибольшее число, удовлетворяющее условию задачи — 7775.
Ответ: 7775.
Приведём другое решение на языке Python.
for i in range(10000, 1, -1):
a = 10
b = 0
x = i
while x > 0:
y = x % 10
x = x // 10
if y b:
b = y
if a == 5 and b == 7:
print(i)
break
Правильный ответ:
7775
📚 Похожие разобранные задания по предмету:
ID 33662 • Задание №22
Ниже на пяти языках программирования записан алгоритм. Получив на вход число x, этот алгоритм печатает два чис...
ID 33117 • Задание №19
Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, п...
🔗 Другие задания линии №22 по предмету Информатика:
ID 33548
В файле содержится информация о совокупности N вычислительных процессов, которые могут выполнят...
ID 33549
В файле содержится информация о совокупности N вычислительных процессов, которые могут выполнят...
ID 33550
В файле содержится информация о совокупности N вычислительных процессов, которые могут выполнят...
ID 33551
В файле содержится информация о совокупности N вычислительных процессов, которые могут выполнят...
ID 33552
В файле содержится информация о совокупности N вычислительных процессов, которые могут выполнят...