UR.ANUS
ЕГЭ 2021. Информатика. Программирование. Как решать задачи ExamBegin 1-80?
вернуться

Теплоухова Елена

Шрифт:

end;

end;

end.

ExamBegin5

На вход подаются два целых положительных числа; каждое число вводится с новой строки. Найти их наибольший общий делитель (НОД), используя алгоритм Евклида: НОД(A, B) = НОД(B, A mod B), если B /= 0; НОД(A, 0) = A, где «mod» обозначает операцию взятия остатка от деления.

uses PT4Exam;

var

a, b: integer;

begin

Task('ExamBegin5');

Read(a, b);

while a <> b do

begin

if a > b then a := a – b

else b := b – a;

end;

Write(a);

end.

ExamBegin6

На вход подаются два целых положительных числа; числа расположены в одной строке. Найти их наименьшее общее кратное (НОК), используя формулу НОК(A, B) = A·(B/НОД(A, B)), где НОД(A, B) – наибольший общий делитель, а символ «/» обозначает операцию деления нацело. НОД находить с помощью алгоритма Евклида (см. задание ExamBegin5).

uses PT4Exam;

var

a, b, nod: integer;

begin

Task('ExamBegin6');

Read(a, b);

nod := a * b;

while a <> b do

begin

if a > b then a := a – b

else b := b – a;

end;

Write(nod div a);

end.

ExamBegin7

На вход подаются два целых положительных числа: A и D (2 <= D <= 9); числа расположены в одной строке. Вывести строку, изображающую запись числа A в системе счисления с основанием D(полученная строка не должна содержать незначащих нулей).

uses PT4Exam;

var

a, b, rem, num, k: integer;

begin

Task('ExamBegin7');

Read(a, b);

num := 0; k := 1;

while a > 0 do

begin

rem := a mod b;

a := a div b;

num := num + rem * k;

k := k * 10;

end;

Write(num);

end.

ExamBegin8

На вход в первой строке подается целое число D (2 <= D <= 9), а во второй строке – текст, изображающий запись целого положительного числа A в системе счисления с основанием D. Вывести число A в десятичной системе счисления.

uses PT4Exam;

var

a, num, k, m: integer;

b: string;

begin

Task('ExamBegin8');

Readln(a);

Readln(b);

num := 0; m := 1;

while length(b) > 0 do

begin

k := StrToInt(Copy(b, length(b), 1));

Delete(b, length(b), 1);

num := num + k * m;

m := m * a;

end;

Write(num);

end.

ExamBegin9

На вход подается целое положительное число. Если оно является степенью числа 2, то вывести текст «YES», иначе вывести «NO».

uses PT4Exam;

var

a, x: integer;

num: boolean;

begin

Task('ExamBegin9');

ReadLn(a);

x := 1; num := false;

while x <= a do

begin

x := x * 2;

if (x = a) or (a = 1) then num := true;

end;

if num = true then Write('YES')

else Write('NO');

end.

ExamBegin10

На вход подаются два целых положительных числа A и K; каждое число располагается на новой строке. Если число A является степенью числа K, т. е. A = KN, то вывести показатель этой степени N, иначе вывести текст «NO».

uses PT4Exam;

var

a, k, x, n: integer;

z: boolean;

begin

Task('ExamBegin10');

Read(a, k);

x := 1; n := 0; z := false;

while x < a do

begin

x := x * k;

n := n + 1;

if x = a then z := true;

end;

if (z = true) or (a = 1) then write(n)

else write('NO');

end.

ExamBegin11

На вход подается целое число, большее 1. Вывести наименьший делитель данного числа, больший 1.

uses PT4Exam;

var

a, x: integer;

begin

Task('ExamBegin11');

Read(a);

x := 2;

while a mod x <> 0 do

x := x + 1;

Write(x);

end.

ExamBegin12

На вход подается целое число, большее 1. Если оно является простым, т. е. не имеет положительных делителей, кроме 1 и самого себя, то вывести текст «YES», иначе вывести «NO».

uses PT4Exam;

var

a, i, k: integer;

begin

Task('ExamBegin12');

Read(a);

k := 0;

for i := 1 to a do

if a mod i = 0 then k := k + 1;

if k > 2 then Write('NO')

else Write('YES');

end.

  • Читать дальше
  • 1
  • 2
  • 3
  • 4

UR.ANUS - русскоязычная библиотека для чтения онлайн. Здесь удобно открывать книги с телефона и ПК, возвращаться к сохраненной странице и держать любимые произведения под рукой. Материалы добавляются пользователями; если считаете, что ваши права нарушены, воспользуйтесь формой обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • support@anus.bid