М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
GeorgYanovski777
GeorgYanovski777
13.01.2022 06:05 •  Информатика

решить задачу на Turbo Pascal


решить задачу на Turbo Pascal

👇
Ответ:
cooldasha11042
cooldasha11042
13.01.2022

program ostan;

var N,I,J,res: integer;

prov:real;

begin

writeln('Введите количество остановок на маршруте автобуса: ');

read(N);

writeln('Введите пункт отправления ');

read(I);

writeln('Введите конечную остановку ');

read(J);

//N должно быть >1, т.к. для корректного выполнения задачи у нас должно быть хотябы 2 остановки

//I<N+1; +1 для того, что I или J могут быть крайними

//I<>J означает I не равно J, т.к. если мы отправляемся на ту-же остановку, где мы сейчас находимся, ездить незачем

if ((N>1)and(I<N+1)and(J<N+1)and(I<>J)) then

begin

//Тут вводится переменная prov - проверка, как нам короче ехать, от меньшего к большему или в обратную сторону

prov:=N/2;

if (I<J) then if (prov>J-I) then res:=J-I-1 else res:=N-J+I-1 //если I<J, и если разница J-I < prov, то нам выгоднее ехать по прямой, если >, то в обратную сторону

else if (prov>I-J) then res:=I-J-1 else res:=N-I+J-1; // то-же самое, только для I>J

writeln();

writeln('Количество остановок между пунктами = ',res);

end

else writeln(); writeln('ДАННЫЕ НЕ КОРРЕКТНЫ, ОШИБКА ВВОДА');

end.

Хоть какая-то интересная задача на этом сервисе)

4,5(48 оценок)
Открыть все ответы
Ответ:
olgaazov73
olgaazov73
13.01.2022

Объяснение:

using System;

class Program

{

   static int P(string p)

   {

       int a = 0, dec = 1;

       for (int i = p.Length - 1; i >= 0; i--)

       {

           a += (p[i] - '0') * dec;

           dec *= 10;

       }

       return a;

   }

   static void Main(string[] args)

   {

       int minSum = 1000000000, maxSum = 0, itMin = 0, itMax = 0;

       for (int i = 0; i < 10; i++)

       {

           int nowSum = 0;

           string a = Console.ReadLine();

           string[] now = a.Split(' ');

           for (int j = 0; j < now.Length; j++)

           {

               int n = P(now[j]);

               nowSum += n;

           }

           if (minSum > nowSum)

           {

               itMin = i;

               minSum = nowSum;

           }

           if (maxSum < nowSum)

           {

               itMax = i;

               maxSum = nowSum;

           }

       }

       Console.WriteLine("{0} - строка с минимумом, {1} - строка с максимумом", itMin + 1, itMax + 1);

       Console.ReadLine();

   }

}

4,4(32 оценок)
Ответ:
kateadel01
kateadel01
13.01.2022
# Код на ruby 2.2.3p173
def zadanie(jump1, jump2)
    min = jump1
    for i in 1..1000
        next if (i*jump1)%jump2 == 0 or (i*jump2)%jump1 == 0

        if min > (i*jump1)%jump2
            min = (i*jump1)%jump2
            p [min, "#{i} * #{jump1} - #{i*jump1/jump2} * #{jump2}"]
        end

        if min > (i*jump2)%jump1
            min = (i*jump2)%jump1
            p [min, "#{i} * #{jump2} - #{i*jump2/jump1} * #{jump1}"]
        end
    end
    return min
end
# # Примеры применения
p zadanie(33, 55)

Вывод
[22, "1 * 55 - 1 * 33"]
[11, "2 * 33 - 1 * 55"]
11

Т.е. минимум при 2 * 33 - 1 * 55 = 11
4,5(60 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ