Решите, пожалуйста, задачу на языке с с помощью циклов for, while, do…while

решите, пожалуйста, задачу на языке с с помощью циклов for, while, do...while
Имеются контейнеры двух видов: по 130кг и 160кг. Можно ли полностью загрузить ими грузовик грузоподъёмностью 3т.

  • #include
    #include
    int main () {
    int llc = 3000, c1 = 130, c2 = 160, max, min, temp = llc;
    if (llc % c1 == 0 || llc % c2 == 0) printf("Yes!");
    else {
    max = c1 > c2? c1 : c2;
    min = c1 + c2 - max;
    while (temp > 0) {
    temp -= max;
    if (temp % min == 0) {
    printf("Yes!");
    break;
    }
    }
    }
    _getch();
    return 0;
    }
  • Не надо 2 раза писать, от этого желание делать не появится!
  • вышу написаный метод помойму учитывает не все варианты

    первое и последнее что пришло на ум
    метод дуратский но для твоих цифр подойдет ( ровно как и для отмазы препаду)

    int ves = 3000, c1 = 130, c2 = 160;
    if (ves % c1 == 0 || ves % c2 == 0) printf("Yes!");
    else {
    for (int i = 1; ves >= 0; i++)

    ves -= (c1+c2)*i
    if ((ves% c1 ==0)
    if (ves ==0) printf("Yes!");

    }

  • на вот написал 2 часа придумывал что бы такое придумать: (с тебя 2 бакса ))) шучу)

    вот результат работы

    работа программы основана на создании списка случайных последовательностей 160 и 130 килограммовых контейнеров которая бы была ровна 3 тоннам.
    результат и проверка все есть. Вообще интересно правда? :-)

  • правда на паскале uses crt;
    var
    y,x,j,jj,z,zz,n,k: integer;
    Begin
    clrscr;
    n:=130;k:=160;x:=3000;
    z:=0;
    j:=x div k;
    z:=x div n;
    for jj:=1 to j do begin y:=0;
    for zz:=1 to z do
    begin
    y:=k*jj+n*zz ;
    if y=x then writeln ('Âàðèàíòû ',k,' - ',jj,' øò. ',n,' - ',zz,' øò. y=',y);
    end;
    end;
    //writeln('kones');
    End.