• Оператор цикла WHILE ПАСКАЛЬ
    В некоторой стране используются денежные купюры достоинством в 1,2,4,8,16,32 и 64.дано натуральное число N.Как наименьшим количеством таких денежных купюр можно выплатить сумму N(указать количесво каждой из используемых для выплаты купюр)? Предлагается, что имеется достаточно больше количесво купюр всех достоинство.

Ответы 1

  • Var m : array[0..6] of Integer;  i,k,N : Integer;Begin  For i:=0 to 6 do m[i]:=0;  Readln(N);  k:=6;  While N>0 do  Begin    If N>=Power(2,k) then    Begin      N:=N-Trunc(Power(2,k));      Inc(m[k]);    end else Dec(k);  end;  For i:=0 to 6 do Writeln(Power(2,i),'  ',m[i],' шт.');end.Еще вариант:Const  NN = 7;  money : array[1..7] of Integer = (1,2,4,8,16,32,64);Var m : array[1..NN] of Integer;  i,k,N : Integer;Begin  For i:=1 to NN do m[i]:=0;  Readln(N);  k:=NN;  While N>0 do  Begin    If N>=money[k] then    Begin      N:=N-money[k];      Inc(m[k]);    end else Dec(k);  end;  For i:=1 to NN do Writeln(money[i],'  ',m[i],' шт.');end.
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years