Программное решение задач ЕГЭ по информатике

Задача 5821. Источник: Поляков. Задание КИМ 14

Страница задачи 5821

(А. Богданов) Операнды арифметического выражения записаны в системе счисления с некоторым частично заданным основанием:

13132x4 – 134x213

В записи чисел переменной x обозначена неизвестная цифра. Определите наибольшее значение x, при котором значение данного арифметического выражения кратно 30. Для найденного значения x вычислите частное от деления абсолютного значения арифметического выражения на 30 и укажите его в ответе в десятичной системе счисления. Основание системы счисления в ответе указывать не нужно.

Решение

Python

  1. result = 0
  2. for x in range(10):
  3. n1 = 13204 + x * 10 + 3
  4. n2 = 13 ** 4 + 3 * 13 ** 3 + 4 * 13 ** 2 + x * 13 + 2
  5. n = n1 - n2
  6. if abs(n) % 30 == 0:
  7. result = abs(n) // 30
  8. print(result)

PascalABC

  1. var
  2. x, n, n1, n2, r: Integer;
  3. begin
  4. for x := 0 to 9 do
  5. begin
  6. n1 := 13204 + x * 10 + 3;
  7. n2 := trunc(power(13, 4)) + 3 * trunc(power(13, 3)) +
  8. 4 * trunc(power(13, 2)) + x * 13 + 2;
  9. n := n1 - n2;
  10. if abs(n) mod 30 = 0 then
  11. r := abs(n) div 30;
  12. end;
  13. Writeln(r);
  14. end.

C++

  1. #include <iostream>
  2. #include <cmath>
  3. using namespace std;
  4. int main()
  5. {
  6. int r = 0;
  7. for (int x = 0; x < 10; x++)
  8. {
  9. int n1 = 13204 + x * 10 + 3;
  10. int n2 = (int)pow(13, 4) + 3 * (int)pow(13, 3) +
  11. 4 * (int)pow(13, 2) + x * 13 + 2;
  12. int n = n1 - n2;
  13. if (abs(n) % 30 == 0)
  14. r = abs(n) / 30;
  15. }
  16. cout << r << endl;
  17. }

Ответ

755

Отправить замечание по решению

Код по которому имеется замечание:

Ваш вариант кода:

Комментарий: