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

На уроке чтобы как-то заинтересовать вовочку своим предметом учитель предложила составлять из длинных слов разные короткие слова и вовочке это понравилось. когда он пришел на урок информатика, где начали изучать основы алгоритмизации вместо того чтобы внимательно слушать вовочка увидел на доске слово «исполнитель» и решил выписывать разные короткие слова, которые можно составить из букв этого слова, причем так, чтобы каждая буква встречалась только один раз и все слова были разные. потом он вспомнил, что компьютер считает, что слово это последовательность любых букв, то есть слова могут быть и бессмысленные – просто набор букв. тогда вовочка решил просто посчитать сколько разных слов можно составить из 4 букв слова «исполнитель», при условии, что каждая буква встречается в четырехбуквенных словах может встречаться не более одного раза? но вот с вычислениями у вовочки не все в порядке, поэтому он обратился за к вам. ответьте на поставленный вовочкой вопрос. комментарий: слово «тело» можно считать как правильное, а слово «лило» - нельзя, так как буква л встречается дважды.

👇
Ответ:
Luka2015
Luka2015
01.03.2020
«ИСПОЛНТЕЬ» - 9 не повторяющихся букв
значит 4 буквенных слов можно составить 9*8*7*6 = 3024
4,4(68 оценок)
Открыть все ответы
Ответ:
kulisenok
kulisenok
01.03.2020

// PascalABC.NET 3.6.3

uses School;

function Divizors(n: integer): List<integer>;

begin

 var L := new List<integer>;

 L.Add(1);

 L.Add(n);

 if n > 3 then

   begin

   var k := 2;

   while (k * k <= n) and (k < 46341) do

   begin

     if n mod k = 0 then

     begin

       var t := n div k;

       L.Add(k);

       if k < t then L.Add(t)

       else break

     end;  

     Inc(k)

   end;

   L.Sort;

 end;

 Result := L

end;

begin

 // 1

 if ReadInteger.IsPrime then Println('YES')

 else Println('NO');

 // 2

 ReadInteger.Factorize.First.Println;

 // 3

 var a := Divizors(ReadInteger);

 Print(a.Count, a.Sum)

end.

4,5(40 оценок)
Ответ:
аникдим
аникдим
01.03.2020

// PascalABC.NET 3.6.3

uses School;

function Divizors(n: integer): List<integer>;

begin

 var L := new List<integer>;

 L.Add(1);

 L.Add(n);

 if n > 3 then

   begin

   var k := 2;

   while (k * k <= n) and (k < 46341) do

   begin

     if n mod k = 0 then

     begin

       var t := n div k;

       L.Add(k);

       if k < t then L.Add(t)

       else break

     end;  

     Inc(k)

   end;

   L.Sort;

 end;

 Result := L

end;

begin

 // 1

 if ReadInteger.IsPrime then Println('YES')

 else Println('NO');

 // 2

 ReadInteger.Factorize.First.Println;

 // 3

 var a := Divizors(ReadInteger);

 Print(a.Count, a.Sum)

end.

4,4(91 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ