Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 13.07.2017
Сообщений: 32

Написать код с объяснением

17.08.2017, 13:49. Показов 2040. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как-то раз представитель Счётной Палаты РФ Игорь Дмитриевич Траффик посетил с учётом воинскую часть №192.168.0.9 и наблюдал построение её солдат. Он подметил, что когда солдаты выстраивались в шеренги по N колонн, в последней шеренге был N-1 солдат, а когда то же количество солдат выстраивалось в шеренги по M колонн, в последней шеренге оказался M-1 солдат. Все остальные шеренги были полны.
В дальнейшем ему по этим данным понадобилось установить количество солдат в воинской части. Он понимал, что однозначно определить это число невозможно, поэтому решил ограничиться нахождением минимально возможного числа солдат.
Эту задачу он перепоручил своему заместителю, т.е. Вам. С чем Вас и поздравляем.

Формат входных данных
Во входном файле два числа N и M через пробел (N,M<=150000).

Формат выходных данных
В выходной файл выведи единственное число: искомое минимальное количество солдат в части. Гарантируется, что оно умещается в диапазон Longint

Пример:
input.txt
3 4
output.txt
11
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.08.2017, 13:49
Ответы с готовыми решениями:

Написать код с объяснением
Как-то раз представитель Счётной Палаты РФ Игорь Дмитриевич Траффик посетил с учётом воинскую часть №192.168.0.24 и наблюдал построение её...

Составить алгоритм и написать программу(если можно с объяснением как и зачем)
http://www.picase.net/pic/101337 http://www.picase.net/pic/101338 http://www.picase.net/pic/101339 Aurim, обращаю Ваше внимание на...

Напишите код с объяснением пожалуйста
Из матриц С(5,5) и Р(7,7) переписать в массив элементы, лежащие ниже главной диагонали

6
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
17.08.2017, 15:59
Лучший ответ Сообщение было отмечено Informatik46 как решение

Решение

Идея такая. Если все шеренги полные, то число солдат должно делиться без остатка на оба числа.
Если 1 убрать, то в последней будет на 1 меньше.
Поскольку нужно минимальное число, берем не просто n*m, а наименьшее общее кратное этих чисел.
Pascal
1
2
3
4
5
6
7
8
9
var n,m,nok:longint;
begin
read(n,m);
nok:=n*m;//найдем произведение n*m/
while m<>n do//найдем НОД этих чисел
if n>m then n:=n-m  else m:=m-n;
nok:=nok div m; //разделим произведение на НОД, получим НОК
write(nok-1); //результат
end.
0
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,060
18.08.2017, 04:37
Код для PascalABC.NET:
Pascal
1
2
3
4
5
6
7
begin
  var (n,m,v) := (ReadInteger,ReadInteger,0);
  repeat
    v += 1;
  until v mod n + v mod m = 0;
  WriteLn(v-1);
end.
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
18.08.2017, 07:12
Сайт e-olimp, с которого эта задача(№ 2708 "Построение") не принимает этот код.
А переписанный для Free Pascal
Pascal
1
2
3
4
5
6
7
8
9
var n,m,v:longint;
begin
read(n,m);
v:=0;
repeat
 inc(v)
until v mod n + v mod m = 0;
write(v-1);
end.
не проходит тест № 6 по времени.
Мой код проходит все тесты.
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,159
Записей в блоге: 1
18.08.2017, 08:46
JuriiMW,
перебор же :-)

Puporev,
можно попробовать НОД из #2 чуть ускорить (для древних процессоров с долгими операциями деления деление вычитанием часто было быстрее встроенной операции, но тех процессоров уже не найти):
Pascal
1
2
3
4
5
6
7
var n, m, nok: Longint;
begin
  Read(n,m);
  nok:=n*m;
  while (m<>0) and (n<>0) do if n>m then n:=n mod m  else m:=m mod n;
  Write(nok div (m+n)-1);
end.
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
18.08.2017, 08:48
Можно, я думал, но и так проходит, не стал менять.
0
0 / 0 / 0
Регистрация: 13.07.2017
Сообщений: 32
18.08.2017, 13:03  [ТС]
спасибо всем за помощь
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.08.2017, 13:03
Помогаю со студенческими работами здесь

написать программу если можно с объяснением!!!!!!!!

Нужен код длинного сложения натуральных положительных чисел. Желательно с объяснением и максимально простой
простой обычный мэин

Программа в Си с объяснением
Здравствуйте всем!! я первый раз оказалась на таком форуме,не знаю вообще,нормально ли обращаться по таким вопросам....Мне нужно сдать на...

задачи по ТОЭ(с объяснением)
Помогите решить, пожалууйста. Вопрос жизни и смерти...

Найти предел с объяснением решения
Найти предел \lim_ {x\to 0}{\frac{9-\sqrt{81+2x}}{13-\sqrt{169-x}}} только пожалуйста объясните как решается


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru