М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
ashotik007
ashotik007
23.03.2021 05:22 •  Информатика

В алфавите языке племени «тумба-юмба» четыре буквы: «Ы», «Ш», «Ч» и «О». Нужно вывести на экран все возможные слова, состоящие из K букв, в которых есть по крайней мере две одинаковые буквы, стоящие рядом

👇
Ответ:
molotower
molotower
23.03.2021

const

K = 5; // можно сделать переменной и запрашивать у пользователя

alpha : array[1 .. 4] of char = ('Ы', 'Ш', 'Ч', 'О');

var count : integer := 0;

procedure p(s : string);

begin

if s.Length = K then

begin

writeln(s);

inc(count);

end

else

begin

var L := s.Length;

if (s.Length < 2) or (s[2] = 'Ы') then

foreach var ch : char in alpha do p(s + ch);

end;

end;

begin

p('');

writeln('count = ', count);

end.

4,6(90 оценок)
Открыть все ответы
Ответ:
Табалаев
Табалаев
23.03.2021
Const    len = 1000;

type
    longnum = array[1..len] of longint;

var
      n, i: longint;
      s: longnum;
    
procedure InitLongNumber(n: longint; var a: longnum);
var
    i: longint;
begin
    for i := 1 to len do
        if n <> 0 then
            begin
                a[i] := n mod 10;
                n := n div 10
             end else
                a[i] := 0;
end;

function mul(a: longnum; k: longint): longnum;
var
    i, tmp: longint;
begin
    tmp := 0;
    
    for i := 1 to len - 1 do
    begin
        a[i] := a[i] * k + tmp;
        tmp := a[i] div 10;
        a[i] := a[i] mod 10 
    end;

    result := a
end;

procedure PrintLongNumber(a: longnum);
var
    i, j: longint;
begin
    i := len;
    while a[i] = 0 do
        dec(i);
    for j := i downto 1 do
        write(a[j])
end;

begin   
    readln(n);
    InitLongNumber(1, s);
    for i := 1 to n do
            s := mul(s, i);
    write(n, '! = ');
    PrintLongNumber(s);
end. 
4,5(41 оценок)
Ответ:
maks737
maks737
23.03.2021
// PascalABC.NET 3.0, сборка 1144 от 16.01.2016
begin
  var a:=ArrRandom(100,-10,10);
  a.Println;
  Writeln(a.Where(x->x>0).Count,' положительных, ',
    a.Where(x->x<0).Count,' отрицательных')
end.

Тестовое решение:
4 -6 0 8 2 -2 -1 -8 -6 8 -3 7 4 -7 -5 9 0 -3 -7 1 0 -4 6 3 8 -10 4 9 3 5 8 5 5 8 10 4 -8 3 8 8 -9 2 7 -8 -7 -5 2 -9 0 9 -7 7 -2 -6 7 -2 -1 7 -10 2 4 1 -1 0 10 3 -8 6 -6 2 6 7 -1 -4 -1 8 0 3 0 2 -2 2 -1 5 1 -9 -4 1 -9 1 -6 -5 3 -4 -7 1 -7 -3 -7 1
51 положительных, 42 отрицательных
4,6(100 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ