Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Помогите решить задачу по програмированию

9.4K
28 апреля 2005 года
demonddt
10 / / 28.04.2005
Задача «Время не ждет»
Требуется отмерить t минут, потратив на это минимальное количество времени. Для этих целей есть двое песочных часов, первые из которых могут отмерять k минут, а вторые - m минут. Песок в этих часах сыпется неравномерно, и поэтому точно время можно определить только когда в часах пересыпется полностью.
Требуется написать программу, которая по заданным k , m и t (все числа натуральные и не превышают 32000) определяет порядок установки часов для отсчета времени, которое понадобится для этого, если это возможно.
Порядок установки часов записывается в следующем формате. Часы на k минут обозначаются буквой «К», часы на m минут - буквой «М». Момент установки часов «К» обозначим буквой «k», часов «М» - «m», момент полного пересыпания песка из часов «К» - «К», из часов «М» - «М». Момент начала отсчета времени – символ «!», момент окончания отсчета времени - «#».
Например, ввод: k=3, m=2, t=5
вывод: !mMkK# , 5 , 5
(1 число – отмеренное время , 2 число – потраченное время)
301
29 апреля 2005 года
lord Kelvin
897 / / 08.11.2004
Код:
#include<stdio.h>
#include<conio.h>

void main(void)
{
 int k=13,m=3,t=127;
 clrscr();
 for(int im=0;;im++)
 {
  for(int ik=1;;ik++)
   if(im*m+ik*k>=t)break;
  if(im*m+ik*k==t){printf("%d*%d + %d*%d = %d",im,m,ik,k,t);break;}
 }
 getch();
}

Вот тебе алгоритм. Переменные обозначены как в задании. С вводом - выводом разбирайся сам.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог