Plamia7917
?>

Составьте программу на паскале, которая вводит 2 целых числа m и n и печатает все целые числа между m и n, делящиеся на 7, включая и сами эти числа. замечание: программа должна учитывать, что заранее не известно, какое из чисел m или n больше другого.

Информатика

Ответы

Евгений

var

   N, M, prov: longint;

begin

   readln(N);

   readln(M);

   if N < M then

   begin

       prov := N;

       while prov <= M do

       begin

           if prov mod 7 = 0 then

               writeln(prov);

           inc(prov);

       end;

   end

   else  

   begin

       prov := M;

       while prov <= N do

       begin

           if prov mod 7 = 0 then

               writeln(prov);

           inc(prov);

       end;

   end;

end.

twisty20075004

1. а) Для начала узнаем, какое количество килобайт мы можем передать за 1 секунду: 19200/1024/8 =  2,3 (Кбайт). Следовательно, если бы не было сжатия информации, то данный файл за одну секунду при данной скорости соединения было бы невозможно передать. Но сжатие есть, 2.6/2.3 < 4, следовательно, передача возможна.

б) Нет не всегда, так как скорость соединения это максимально возможная скорость передачи данных при этом соединении. Реальная скорость может быть меньше.

в) Можно указать минимальное время передачи этого файла: 4*1024*1024/4/19200, около 55 с (столько времени будет передаваться файл на указанной скорости с максимальной компрессией). Максимальное же время передачи оценить вообще говоря нельзя, так как в любой момент может произойти обрыв связи

2. Время = объем(бит) / скорость(бит/с)

переводим объем  из килобайт в биты 1500кб= 1500*1024*8 бит

считаем t=\frac{1500*1024*8}{512000} = \frac{1500*2x^{10}*8 }{2x^{9} *1000} = 24  секунды

ntyremsk1
Я приведу программное решение, так как это все-таки информатика. Аналитическое решение ищите по ссылке в комментариях

Код на Ruby 2

def f0(number, log) #
  v = 1
  n = number + v
  log = "#{log}A"
  return [n, log]
end

def f1(number, log) #
  v = 2
  n = number + v
  log = "#{log}B"
  return [n, log]
end

def f2(number, log) #
  v = 3
  n = number + v
  log = "#{log}C"
  return [n, log]
end

def countWays(start_num, end_num, op_number, max_steps = 0)
  ways = {}
  ways.store(start_num.to_s, start_num)

  max_steps = max_steps == 0 ? (start_num - end_num).abs : max_steps
  count = 0

  for steps in 1..max_steps
      new_ways = {}
      ways.each_pair{|log, num|

          for k in 0..op_number-1
              num1, log1 = f0(num, log) if k == 0
              num1, log1 = f1(num, log) if k == 1
              num1, log1 = f2(num, log) if k == 2

              if num1 == end_num then
                  log1 += " = " + end_num.to_s
                  count += 1
                  # puts log1
              elsif num1.between?(start_num, end_num)
                  new_ways.store(log1, num1)
              end
          end
      }
      ways = new_ways
  end
  return count
end

p countWays(0, 11, 3) # с 0 до 11, 3 разных команды

Вывод 504

Поскольку длина путей до ценного объекта и от объекта до базы - равны, то всего вариантов 504*504 = 254016

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Составьте программу на паскале, которая вводит 2 целых числа m и n и печатает все целые числа между m и n, делящиеся на 7, включая и сами эти числа. замечание: программа должна учитывать, что заранее не известно, какое из чисел m или n больше другого.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

TatyanaVladimirovich
zanthia94
usmanovayanq2626
АндреевичОльга641
Александровна-Грузман
femida69
zibuxin6
Sazhina1356
silicon-films3375
magsh99
farmprofi
Татьяна902
vipteatr
lider123
vakhitov100961