#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();
}
Помогите решить задачу по програмированию
Требуется отмерить t минут, потратив на это минимальное количество времени. Для этих целей есть двое песочных часов, первые из которых могут отмерять k минут, а вторые - m минут. Песок в этих часах сыпется неравномерно, и поэтому точно время можно определить только когда в часах пересыпется полностью.
Требуется написать программу, которая по заданным k , m и t (все числа натуральные и не превышают 32000) определяет порядок установки часов для отсчета времени, которое понадобится для этого, если это возможно.
Порядок установки часов записывается в следующем формате. Часы на k минут обозначаются буквой «К», часы на m минут - буквой «М». Момент установки часов «К» обозначим буквой «k», часов «М» - «m», момент полного пересыпания песка из часов «К» - «К», из часов «М» - «М». Момент начала отсчета времени – символ «!», момент окончания отсчета времени - «#».
Например, ввод: k=3, m=2, t=5
вывод: !mMkK# , 5 , 5
(1 число – отмеренное время , 2 число – потраченное время)
Код:
Вот тебе алгоритм. Переменные обозначены как в задании. С вводом - выводом разбирайся сам.