kareeva
?>

Оператор цикла while паскаль в некоторой стране используются денежные купюры достоинством в 1, 2, 4, 8, 16, 32 и 64.дано натуральное число n.как наименьшим количеством таких денежных купюр можно выплатить сумму n(указать количесво каждой из используемых для выплаты купюр)? предлагается, что имеется достаточно больше количесво купюр всех достоинство.

Информатика

Ответы

Артур
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.
vipppp19743355

Program ToDec;

Uses crt;
var s:string;
n,l,i:integer;

 

function Pow(x,y:integer):integer;
begin
     if y>0 then Pow:=Pow(x,y-1)*x
               else Pow:=1;
end;

function ToDec(A : string) : integer;
var L : Byte;
begin
      if A = '' then ToDec := 0
                else begin
                              L := length(A);
                               case A[1] of
                                     '0' : ToDec := ToDec(Copy(A, 2, L - 1));
                                     '1' : ToDec := Pow(2, L - 1) + ToDec(Copy(A, 2, L - 1));
                                end;
     end;
end;

begin
     clrscr;
     write('Введите двоичное число: ');
     readln(s);
      writeln('Это число в десятичной системе : ', ToDec(S));
 readkey;
end.

 

 

 

boldireve617
Program Vby_1;
uses crt;
var a,b,c:real;
begin
  writeln('***   Alphaues is thinking...   ***');
  writeln('Ok, введите катеты: ');
  write('a= ');readln(a);
  write('b= ');readln(b);
  writeln('Периметр прямоугольного треугольника = ',a+b+sqrt(a*a+b*b):8:2);
end.

Program Vby_2;
uses crt;
var a,b,h,t:real;
begin
  writeln('***   Alphaues is thinking...   ***');
  writeln('Ok, введите данные: ');
  write('Одно основание = ');readln(a);
  write('Другое основание = ');readln(b);
  write('Высота = ');readln(h);
  t:=abs(a-b)/2;
writeln('Периметр трапеции =',a+b+sqrt(h*h+t*t):8:2);
end.

Program Vby_3;
uses crt;
var s:integer;
begin
  writeln('***   Alphaues is thinking...   ***');
  write('Ok, введите расстояние в сантиметрах: '); readln(s);
  write('Число полных метров = ',s div 100);
end.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Оператор цикла while паскаль в некоторой стране используются денежные купюры достоинством в 1, 2, 4, 8, 16, 32 и 64.дано натуральное число n.как наименьшим количеством таких денежных купюр можно выплатить сумму n(указать количесво каждой из используемых для выплаты купюр)? предлагается, что имеется достаточно больше количесво купюр всех достоинство.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

ryadovboxing
Yuliya_Viktoriya316
ПогальниковАлёна589
mnkrasnova
samirmajbubi
opal19575
Алексеевич949
andrew55588201824
Есартия52
komarov-dmitriy
peresvetoff100015
ivanpetrovichru1801
Максим_Нина
Yevsyukov1697
Yelizaveta1848