В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
DairLayra
DairLayra
15.03.2021 21:58 •  Информатика

Задача A. Задача из ЕГЭ Вася готовится к ЕГЭ по информатике и тренируется решать 23 задачу. Он нашел много вариантов этой задачи, но не нашел к ним ответов. Во всех найденных вариантах задачах формулируется
одинаково, отличаются только числа:
Исполнитель преобразует число на экране. У исполнителя есть две команды, которым присвоены номера:
1. Прибавить 1
2. Умножить на k
Первая команда увеличивает число на экране на 1, вторая умножает его на k. Программа для
исполнителя это последовательность команд.
Сколько существует программ, для которых при исходном числе 1 результатом является число
p, и при этом траектория вычислений содержит число q?
Траектория вычислений программы это последовательность результатов выполнения всех команд программы. Например, для программы 121 при k = 3 траектория будет состоять из чисел 2,
6, 7.
Васе найти правильные ответы.
В первой строке входных данных записано число t количество различных вариантов задачи.
В следующих t строках записаны тройки чисел p, q, k. ответ для каждого варианта выведите в
отдельной строке.
В первом тесте t = 3. Оценка за этот тест: За каждую правильно подсчитанное число
программ начисляется Проверка осуществляется в режиме online (результат виден сразу).
Во втором тесте t = 70. Оценка за этот тест: За каждую правильно подсчитанное число
программ начисляется Во время тура проверяется, что сданный файл содержит 70 чисел.
Проверка правильности ответа осуществляется в режиме oine (результат виден после окончания
тура).

Примеры:
2
20 10 2
20 10 3

ответ на тест:
28
5

Показать ответ
Ответ:
bulavskaaana
bulavskaaana
09.01.2020 07:34

using System;

internal class Program {

   private static void Main() {

       Console.WriteLine("Введите минимум для счетчика");

       var min = int.Parse(Console.ReadLine() ?? throw new ());

       Console.WriteLine("Введите максимум для счетчика");

       var max = int.Parse(Console.ReadLine() ?? throw new ());

       Console.WriteLine("Введите значение для счетчика");

       var v = int.Parse(Console.ReadLine() ?? throw new ());

       var counter = new Counter(max, min, v);

       Console.WriteLine("Введите + для увеличение и - для уменьшения, иное для выхода");

       do {

           var c = Console.ReadKey();

           if (c.KeyChar == '+') counter.Increase();

           else if (c.KeyChar == '-') counter.Decrease();

           else break;

           Console.WriteLine($" => {counter.Value}");

       } while (true);

       Console.ReadKey();

   }

}

public class Counter {

   public readonly int Maximum;

   public readonly int Minimum;

   public int Value { private set; get; }

   public Counter(int maximum, int minimum, int counter) {

       this.Maximum = maximum;

       this.Minimum = minimum;

       counter = Math.Min(this.Maximum, counter);

       counter = Math.Max(this.Minimum, counter);

       this.Value = counter;

   }

   private Counter() {

       this.Maximum = 10;

       this.Minimum = 0;

       this.Value = 5;

   }

   public void Increase() {

       var value = this.Value + 1;

       if (value > this.Maximum || value < this.Minimum)

           return;

       this.Value++;

   }

   public void Decrease() {

       var value = this.Value - 1;

       if (value > this.Maximum || value < this.Minimum)

           return;

       this.Value--;

   }

}

0,0(0 оценок)
Ответ:
atom33
atom33
25.05.2022 20:35

Программа на PascalABC

Program 29844007;

uses  

 GraphABC;

var  

 XL1,YL1,XR1,YR1:integer;  ///координаты первого прямоугольника

 XL2,YL2,XR2,YR2:integer; ///координаты второго прямоугольника

 XL0,YL0,XR0,YR0:integer;  ///координаты результата

s:string; ///строка для вывода результатов;

begin

 Window.SetSize(700,700);  

 writeln('Первый прямоугольник: ');

   writeln('Введите X левого нижнего угла ');read(XL1);

   writeln('Введите Y левого нижнего угла ');read(YL1);

   writeln('Введите X правого верхнего угла ');read(XR1);

   writeln('Введите Y правого верхнего угла ');read(YR1);

 writeln('Второй прямоугольник: ');

   writeln('Введите X левого нижнего угла ');read(XL2);

   writeln('Введите Y левого нижнего угла ');read(YL2);

   writeln('Введите X правого верхнего угла ');read(XR2);

   writeln('Введите Y правого верхнего угла ');read(YR2);

 if XL1<XL2 then XL0:=XL1 else XL0:=XL2;

 if YL1<YL2 then YL0:=YL1 else YL0:=YL2;

 if XR1<XR2 then XR0:=XR2 else XR0:=XR1;

 if YR1<YR2 then YR0:=YR2 else YR0:=YR1;

/// Выводим сначала результирующий прямоугольник синим цветом

 Brush.Color := clBlue;

 Rectangle(XL0,700-YL0,XR0,700-YR0);

/// Рисуем первый прямоугольник красным цветом

 Brush.Color := clRed;

 Rectangle(XL1,700-YL1,XR1,700-YR1);

/// Выводим второй прямоугольник зелёным

 Brush.Color := clGreen;

 Rectangle(XL2,700-YL2,XR2,700-YR2);

/// Выводим кординаты

Brush.Color := clWhite;

 s:='Координаты левого нижнего угла: '+ IntToStr(XL0)+' '+IntToStr(YL0);

 TextOut(0,0,s);

 s:='Координаты правого верхнего угла: '+ IntToStr(XR0)+' '+IntToStr(YR0);

 TextOut(0,20,s);

end.

Пример вывода на прикреплённом рисунке.


Даны два прямоугольника, стороны которых параллельны или перпендикулярны осям координат. известны ко
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота