• Предмет: Информатика
  • Автор: patihullaevarman
  • Вопрос задан 1 год назад

Написать процедуру (функцию), которая определяет делимость числа на первые 16 простых чисел. Делимость на каждое число записывается в соответствующий бит возвращаемого числа. Делимость на 2 – первый бит, на 3 – второй, на 5 – третий, на 7 – четвертый – и т.д.
Например:
Если аргументом процедуры (функции) будет число 45 (5*5*3), то функция должна возвратить число 6 (00000110), так как 45 делится на 5 и на 3 и не делится ни на 2 и ни на 7 и не на другие простые множители.

Ответы

Ответ дал: BobbyFresnel
0

uses School;  // PascalABC.NET в версии начиная с 15.04.2020

function Делимость(Число: integer): integer;

begin

 var БитоваяСтрока := '';

 foreach var Простое in FirstPrimes(16) do

   if Число mod Простое = 0 then

     БитоваяСтрока := '1' + БитоваяСтрока

   else

     БитоваяСтрока := '0' + БитоваяСтрока;

 Result := Dec(БитоваяСтрока, 2)

end;

begin   // Тестовая программа

 Делимость(ReadInteger).Print

end.

Приложения:
Вас заинтересует