artemkolchanov24
?>

Каждый из 10 населенных пунктов соединен автодорогами (без проезда через промежуточные пункты При этом автобусное сообщение существует только между следующими населенными пунктами: Нахабино и Аникеевка, Прудок и Ермолино и Любань, Бужарово и Марушкино, Нахабино и Любань, Аникеевка и Ермолино и Бужарово, Дарна и Кашино, Дарна и Кашино и Марушкино. 1. Постройте граф по этому описанию. 2. Сколько всего существует автодорог между населенными пунктами? 3. Можно ли с автобусного сообщения попасть из Нахабино в Прудок? 4. С каким наименьшим количеством пересадок можно доехать из Марушкино в Прудок? 5. Какой маршрут можно открыть, что бы автобусное сообщение существовало между всеми 10 населенными пунктами?

Информатика

Ответы

olgalooo
//PascalABC.NET (версия 3.1, сборка 1210 от 29.03.2016)
const
  m = 10;

var
  t: array[1..m] of integer;
  i, n, nm, sm: integer;

begin
  //Заполняем массив сл.числами и подсчитываем
  //количество элементов и среднее арифметическое
  //согласно условию задачи
  for i := 1 to m do
  begin
    t[i] := random(-20, 20);write(t[i]:4);
    if (i > 1) and (i <= m) then
      if t[i] > t[i - 1] then n := n + 1
      else if t[i] < t[i - 1] then begin
        sm := sm + t[i];nm := nm + 1;
      end;
  end;
  writeln;
  writeln('число элементов больших предыдущего = ', n);
  writeln('ср. арифметическое элементов меньших предыдущего = ', sm / nm);  
 
end.

Тестовое решение:
    6  13  19   8 -19 -11 -20 -15 -19 -13
число элементов, больших предыдущего = 5
среднее арифметическое элементов, меньших предыдущего = -12.5
taksa6444

100000! содержит "всего" 456574 цифр, так что по крайней мере имеет смысл попытаться начать решать задачу.

Вот наивный алгоритм, который вычисляет факториал по определению (n! = 1 * 2 * 3 * ... * n):

Код (Python 3):

prod = 1

for i in range(1, 100000 + 1):

   prod *= i

Количество нулей в конце в числе prod можно найти, например, так (результат находится в переменной count):

Код (Python 3):

count = 0

while prod % 10 == 0:

   count += 1

   prod //= 10

Наконец, проверим, сколько времени считался результат. Импортируем из модуля time функцию perf_counter, запустим её в начале программы и в конце. Разность результатов - время работы программы в секундах.

Итого получаем такую программу:

Код (Python 3):

from time import perf_counter

start = perf_counter()

prod = 1

for i in range(1, 100000 + 1):

   prod *= i

print(prod)

count = 0

while prod % 10 == 0:

   count += 1

   prod //= 10

print(count)

end = perf_counter()

print(end - start)

Вывод полностью приводить не буду, скажу только, что вычисление на моём компьютере заняло меньше 15 секунд.

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

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

Каждый из 10 населенных пунктов соединен автодорогами (без проезда через промежуточные пункты При этом автобусное сообщение существует только между следующими населенными пунктами: Нахабино и Аникеевка, Прудок и Ермолино и Любань, Бужарово и Марушкино, Нахабино и Любань, Аникеевка и Ермолино и Бужарово, Дарна и Кашино, Дарна и Кашино и Марушкино. 1. Постройте граф по этому описанию. 2. Сколько всего существует автодорог между населенными пунктами? 3. Можно ли с автобусного сообщения попасть из Нахабино в Прудок? 4. С каким наименьшим количеством пересадок можно доехать из Марушкино в Прудок? 5. Какой маршрут можно открыть, что бы автобусное сообщение существовало между всеми 10 населенными пунктами?
Ваше имя (никнейм)*
Email*
Комментарий*

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

Суравцова_Алексей669
Составить программу на Pascal. Y=34c+(12m/7n)
urazmetova
Валерия Воробьева396
ВасилийКлимова1695
dksvetlydir
Coverplus30
ss2911
amaraks67
kostavaani
Okunev1034
bezzfamilny631
ocik1632933
Tatyanaaarzieva72
zubov-073620
vlsvergun59