zdv686857
?>

Напишите логическую функцию которая определяет верно ли что число n - совершенное, т.е. равно сумме своих делителей, меньших его самого

Информатика

Ответы

Дружинин
//Другой вопрос где найти такое число.
//Pascal ABC.NET v3.0 сборка 1111

function Abso(n:integer):boolean;
 Var
  i,k:integer;
 begin
 k:=0;
  for i:=1 to n div 2 do
   if n mod i=0 then k:=k+i;
 if k=n then Abso:=true else Abso:=false;
 end;
kiruha0378
Procedure GetWord(s:string; var p:integer; var w:string; delim:string:=' ');
{
 Получает в w слово из строки s, которое начинается не ранее позиции p.
 Возвращает новое значение p, указывающее на первый разделитель delim,
 который следует за найденным словом или 0, если такой разделитель не найден.
 По умолчанию слова разделяются не менее чем одним пробелом
}
var
  i,n:integer;
  fBreak:boolean; { флажок для прерывания циклов }
begin
  n:=Length(s); fBreak:=False;
  {ищем первый символ, отличный от разделителя - начало слова }
  while ((p<=n) and (not fBreak)) do
    if (p=n) or (s[p]<>delim) then fBreak:=True
    else Inc(p);
  { ищем очередной разделитель - конец слова }
  if p<n then begin
    i:=p; Inc(p); fBreak:=False;
    while (p<=n) and (not fBreak) do begin
      if (p=n) or (s[p]=' ') then fBreak:=True else Inc(p)
    end;
  { теперь слово находится между позициями i и p }
  w:=Copy(s,i,p-i)
  end;
  if p>=n then p:=0
end;

function CountG(w:string):integer;
{ возвращает количество гласных в слове w}
var
  i,k:integer;
begin
  k:=0;
  for i:=1 to length(w) do
    if w[i] in ['а','е','ё','и','о','у','ы','э','ю','я'] then Inc(k);
  CountG:=k
end;

var
  s,w,wmax:string;
  p,k,gmax:integer;
begin
  Writeln('Введите текст, разделяя слова пробелами');
  Readln(s);
  s:=LowerCase(s);
  p:=1; gmax:=0;
  while p>0 do begin
    GetWord(s,p,w);
    k:=CountG(w);;
    if gmax<k then begin gmax:=k; wmax:=w end
  end;
  if gmax>0 then Writeln('В слове "',wmax,'" максимум гласных, равный ',gmax)
  else Writeln('Во введенной строке гласных букв не найдено')
end.
Lesya

Каждый символ может принимать любое значение, точка, либо тире.

То есть мы можем получить и ... и _ _ _ и _._ и ещё кучу всего (это только из 3ёх, из 4ёх символов аналогично, но кол-во будет больше)

Для начала подсчитаем количество символов, которое можно закодировать с ёх знаков:

2^{3}=8

Далее подсчитаем, сколько символов можно закодировать с четырёх знаков:

2^{4}=16

Формула состоит из количества знаков, которыми можно записать число, возведённых в степень, равную количеству использования этих знаков.

 

Что бы узнать, сколько можно закодировать используя "не менее 3ёх и не более 4ёх сигналов", нужно просто сложить наши два результата, 8+16=24

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

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

Напишите логическую функцию которая определяет верно ли что число n - совершенное, т.е. равно сумме своих делителей, меньших его самого
Ваше имя (никнейм)*
Email*
Комментарий*

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

emilmishin1032
gudachaa1480
Максим Павел
Georgievna1407
dmtr77
sashab82
Бочкарева Горохова1652
Кольцова
Savelieva24
nunabat457
Хохлов
egorova90356684858370
igraparkGP51
Bobkov
ajsklan
▲