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*
Комментарий*

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

alfaantonk
мария Кузив1393
Меладзе_Владимир1695
Воронина
romka1210
Yurevich1291
Nzharenikova
waspmoto6188
Татьяна Гришаевич
artbogema2016
prik-galina7390
glebovaludok
Korneeva1856
stairov536
npdialog66