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

Крестьянин, возвращаясь с ярмарки, увидел на мосту странную картину. Какой-то человек сначала считал деньги в кошельке, затем бросал в реку несколько монеток, бежал на другой конец моста, снова считал деньги в кошельке, и опять бросал несколько монеток и шел на другой конец моста. Наконец, пересчитав свои деньги, он явно обрадовался и отправился в дальнейший путь. – Что ты делал? Зачем ты бросал деньги в воду? – спросил крестьянин, догнав странного человека.
Видя, что свой секрет скрыть не удастся, человек рассказал, что мост волшебный, что, если бросить с моста ровно 29 копеек, то, как только перейдешь мост, количество рублей в оставшейся сумме денег превращаются в новой сумме в количество копеек, а копейки – в рубли, что, перейдя мост несколько раз, можно получить сумму, намного большую первоначальной.
– Самое важное – вовремя остановиться, – сказал человек и ушёл.
Крестьянин задумался, достал кошелек и пересчитал свои деньги. У него было 46 рублей 47 копеек. «29 копеек – не деньги, дай-ка попробую». После первого прохода у него получилось 18р.46к., после второго прохода – 17р.18к., а после третьего – 89р.16к. «Ух-ты! А еще больше можно получить?» – обрадовался крестьянин. После четвертого прохода у него стало 87р.88к., после пятого – 59р.87к., после шестого – 58р.59к., после седьмого – 30р.58к., после восьмого – 29р.30к., после девятого – 1р.29к., а после десятого осталась 1 копейка.
«Эх, дурачина, надо было после третьего раза остановиться!» – расстроился крестьянин.
Напишите программу, которая по начальной сумме денег у крестьянина определит оптимальное число проходов по мосту для получения наибольшей конечной суммы.
Входные данные
Во входном файле в первой строке содержится целое число M – количество копеек, которые нужно бросать с моста (1≤M≤50). Во второй строке содержатся два целых числа R и K через пробел – начальная сумма денег у крестьянина, выраженная в рублях и копейках (0≤R≤99, 0≤K≤99).

Выходные данные
В выходной файл вывести наименьшее количество проходов по мосту для получения максимально возможной на питоне
Примеры
входные данные
29
46 47
выходные данные
3

👇
Открыть все ответы
Ответ:
Крипер1111111
Крипер1111111
28.04.2023
// PascalABC.NET 3.1, сборка 1200 от 13.03.2016
begin
  var a:=MatrixRandom(7,7,0,9);
  var k:=0;
  for var i:=0 to 6 do begin
    for var j:=0 to 6 do begin
      Write(a[i,j]:3);
      if a[i,j] in [1..5] then Inc(k)
      end;
    Writeln
    end;
  Writeln('Кол-во элементов на [1,5]: ',k)
end.

Тестовое решение:
  2  1  7  3  3  2  7
  9  2  9  2  0  5  5
  4  2  6  9  4  6  0
  1  0  3  5  4  5  9
  6  3  6  0  2  0  8
  0  8  4  3  2  1  8
  6  0  4  4  5  4  0
Кол-во элементов на [1,5]: 27

Вариант "совсем для школы"

const
  n=7;
var
  a:array[1..n,1..n] of integer;
  i,j,k:integer;
begin
  Randomize;
  k:=0;
  for i:=1 to n do begin
    for j:=1 to n do begin
      a[i,j]:=Random(10);
      Write(a[i,j]:3);
      if a[i,j] in [1..5] then Inc(k)
      end;
    Writeln
    end;
  Writeln('Кол-во элементов на [1,5]: ',k)
end.
4,8(31 оценок)
Ответ:
kseshkaShkolnikova
kseshkaShkolnikova
28.04.2023
// PascalABC.NET 3.1, сборка 1200 от 13.03.2016
const
  n=5;
type
  Matrix=array[1..n,1..n] of integer;

procedure DummySchool(var a:Matrix);
begin
  Writeln('Ввод элементов матрицы');
  for var i:=1 to n do begin
    Write(n,' элементов строки ',i,': ');
    for var j:=1 to n do Read(a[i,j]);
    end;
  Writeln('Сформирована матрица ',n,'x',n);
  for var i:=1 to n do begin
    for var j:=1 to n do Write(a[i,j]:5);
    Writeln
    end
end;

begin
  var B:Matrix;
  DummySchool(B);
  var sn:=0;
  var sp:=0;
  for var i:=1 to n do
    for var j:=1 to n do
      if B[i,j]<0 then sn+=B[i,j]
      else
        if B[i,j]>0 then sp+=B[i,j];
  Writeln('Сумма отрицательных ',sn);
  Writeln('Сумма положительных ',sp)
end.

Тестовое решение:
Ввод элементов матрицы
5 элементов строки 1: 6 23 -5 13 9
5 элементов строки 2: 42 0 -38 16 37
5 элементов строки 3: -5 -18 3 11 8
5 элементов строки 4: 9 13 -11 0 3
5 элементов строки 5: 19 -17 0 15 5
Сформирована матрица 5x5
    6   23   -5   13    9
   42    0  -38   16   37
   -5  -18    3   11    8
    9   13  -11    0    3
   19  -17    0   15    5
Сумма отрицательных -94
Сумма положительных 232
4,7(81 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ