PascalВыделить код1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 uses crt; var s,s1:string; c:char; i,j,k:byte; begin writeln('Введите строку'); read(s); s1:=s;{сделаем копию строки, если строка не нужна, то можно и не делать} i:=1; while i<length(s1) do begin c:=s1[i];{запомним символ} k:=0; for j:=length(s1) downto i+1 do{с конца строки ищем такие же} if s1[j]=c then{если есть} begin k:=1;{фиксируем} delete(s1,j,1);{удаляем} end; if k=1 then delete(s1,i,1){если не один, удаляем} else i:=i+1;{иначе проверяем следующий} end; writeln('Символы по 1 разу'); if s1='' then write('Таких символов нет') else write(s1); end.
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.
20 раз
от 1 до 20