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

Вову не остановить! Стоит ему написать последнюю циферку в числе, как он загорается новой идеей! Например, узнать чему равна сумма цифр числа. Правда, иногда Вова ошибается, поэтому он хотел бы, чтобы была программа, которая вычисляет сумму цифр числа. Ведь это позволит ему сравнивать ответы.

Напишите такую программу.

Формат входных данных

На вход подается целое число X (0 < X ≤ 109)

Формат выходных данных

Целое положительное число - сумма цифр исходного числа.

(язык программирования с++)

Показать ответ
Ответ:
alalosh
alalosh
10.03.2021 12:34
{неэффективный алгоритм}

const
 k = 100;

type
 maze = array [1..k, 1..k] of integer;
 var
 l : maze;
 n, m: integer;
 i, j: integer;
 c: char;
 t: text;
 w: integer;
 x0, y0: integer;
 x1, y1: integer;

procedure ways(a,b,r:integer);
begin
 if (w = 0) or (r < w) then {нет смысла идти дальше, если текущий путь уже превосходит найденный}
 if (l[a,b] <> -2) then
 if (r < l[a,b]) or (l[a,b] = -1) then {нет смысла идти, если текущая клетка уже была достигнута за меньшее число шагов}
   begin
   l[a,b] := r;
   if (a = x1) and (b = y1) then
     w := r
   else
     begin
     if a <> 1 then ways(a - 1, b, r + 1);
     if b <> 1 then ways(a, b - 1, r + 1);
     if a <> n then ways(a + 1, b, r + 1);
     if b <> m then ways(a, b + 1, r + 1);
     end
   end;
end; 
begin
 assign(t, 'input.txt');
 reset(t);
 w := 0;
 readln(t, n, m);
 readln(t, x0, y0);
 readln(t, x1, y1);
 for i := 1 to n do
   begin
   for j := 1 to m do
     begin
     read(t, c);
     case c of
       '.' : l[i,j] := -1; {будем считать, что если клетка отмечена как -1, то путь к ней еще не найден}
       'X' : l[i,j] := -2; {-2, если клетка непроходима}
       end;
     end;
   readln(t)
   end;
 close(t);
 if (l[x0,y0] <> -2) and (l[x1,y1] <> -2) then
   begin
   l[x0,y0] := 1; {просто трюк, чтобы пройти проверку на (r < l[x0,y0])}
     ways(x0, y0, 0);
   end
 else
  l[x1,y1] := -1;
 writeln(l[x1,y1])
end.
0,0(0 оценок)
Ответ:
WFCPDF
WFCPDF
24.02.2020 23:52

Для  данной сортировки используем алгоритм сортировки слиянием

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