Написать функцию, возвращающую количество двоек, содержащихся при переводе в троичную СС - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Помогите пжлст, Написать функцию, возвращающую количество двоек, содержащихся в числе при переводе в троичную СС. Используя эту функцию посчитать среди N элементов последовательности, содержащий ровно две двойки. Спасиюо

Решение задачи: «Написать функцию, возвращающую количество двоек, содержащихся при переводе в троичную СС»

textual
Листинг программы
function Kol2(n:integer):integer;
const cf:string[3]='012';
var s:string;
    i,k:integer;
begin
k:=0;
while n>0 do
 begin
  if n mod 3=2 then inc(k);
  n:=n div 3;
 end;
Kol2:=k;
end;
var a:array[1..100] of integer;
    n,i,k: integer;
begin
randomize;
repeat
write('Введите размер последовательности от 2 до 100 n=');
readln(n);
until n in [2..100];
k:=0;
for i:=1 to n do
 begin
  a[i]:=10+random(90);
  if Kol2(a[i])=2 then inc(k);
  write(a[i]:4);
 end;
writeln;
write('Количество чисел, содержащих ровно 2 двойки в СС3=',k);
end.

Объяснение кода листинга программы

  1. Функция Kol2 принимает натуральное число n и возвращает количество двоек в его троичной системе счисления (СС3).
  2. В функции используется константа cf, содержащая троичные цифры '012'.
  3. Переменная s используется как промежуточный буфер при переводах из десятичной в троичную систему счисления.
  4. Переменные i и k используются как счетчики циклов.
  5. В цикле while n>0 выполняется перевод n из десятичной в троичную систему счисления, при этом проверяется, является ли результат этого перевода четным числом (это можно сделать, проверяя остаток от деления на 2). Если это так, то значение k увеличивается на единицу.
  6. В цикле for i:=1 to n происходит заполнение массива a случайными целыми числами от 10 до 99.
  7. Для каждого элемента массива a проверяется, содержит ли он ровно 2 двойки в его троичной системе счисления, и если да, то значение k увеличивается на единицу.
  8. Каждое число в массиве a выводится на экран в 4-х знакочных позициях.
  9. В конце программы выводится общее количество чисел, содержащих ровно 2 двойки в СС3.

Оцени полезность:

14   голосов , оценка 3.786 из 5
Похожие ответы