Задание 22
В этих задачах даётся программа, требуется найти значение одной из них, чтобы другие имели заданное значение.
Проще всего перебрать значения этой переменной от 0 до большого числа. Большим в задачах ЕГЭ можно считать число 1000, если есть время, увеличьте его до 100000.
Задачи однотипные, поэтому рассмотрим только один пример
Пример 1
Задача
Получив на вход число x, этот алгоритм печатает два числа: L и M.
- Java
- C++
- Python
import java.util.Scanner;
public class Task {
public static void main(String[] args) {
int x, L, M, Q;
Scanner scanner = new Scanner(System.in);
x = scanner.nextInt();
Q = 9;
L = 0;
while (x >= Q) {
L = L + 1;
x = x - Q;
}
M = x;
if (M < L) {
M = L;
L = x;
}
System.out.println(L);
System.out.println(M);
}
}
#include <iostream>
// главный метод программы
int main() {
int x, L, M, Q;
std::cin >> x;
Q = 9;
L = 0;
while (x >= Q) {
L = L + 1;
x = x - Q;
}
M = x;
if (M < L) {
M = L;
L = x;
}
std::cout << L << std::endl;
std::cout << M << std::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)
Укажите наибольшее число x, при вводе которого алгоритм печатает сначала 4, а потом 5.
- Java
- C++
- Python
public class Example {
public static void main(String[] args) {
int x, L, M, Q;
for (int i = 1000; i > 0; i--) {
// нельзя пребирать сам x, потому что
// он меняется во время выполнения дальнейших команд
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 && M == 5) {
// выводим значение счётчика
System.out.println(i);
break;
}
}
}
}
#include <iostream>
// главный метод программы
int main() {
int x, L, M, Q;
for (int i = 1000; i > 0; i--) {
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 && M == 5) {
// выводим значение счётчика
std::cout << i;
break;
}
}
return 0;
}
for i in range(1000, 1, -1):
# нельзя пребирать сам x, потому что
# он меняется во время выполнения дальнейших команд
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
Вывод программы:
49
Ответ: 49
Задания для самостоятельного выполнения