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

Найдите наименьшее натуральное число, у которого ровно 36 делителей (включая 1 и само число 36). например, у числа 6 четыре делителя: 1, 2, 3, 6. в качестве ответа укажите одно натуральное число.

👇
Ответ:
vabimGogolev
vabimGogolev
04.05.2022
Var p,k,i:integer; f:boolean;
begin
 f:=false;
 p:=36;
 while not f do
  begin
  p:=p+1;
  k:=2;
  for i:=2 to p div 2 do
   if p mod i = 0 then k:=k+1;
  f:=k=36;
  end;
writeln(p);
end.

Результат:
1260
4,7(61 оценок)
Ответ:
Аааа1111111111
Аааа1111111111
04.05.2022
Оптимизированно относительно предыдущего ответа.
Так и не понятно причем тут 36 в качестве делителя, потому не использовалось

var
    p, k, i: integer;

begin
    p := 2;
    while true do
    begin
        k := 2;
        for i := 2 to Floor(sqrt(p)) do
            if p mod i = 0 then
                if p div i = i then {случай полного квадрата}
                    k := k + 1
                else
                    k := k + 2;
        if k = 36 then break;
        p := p + 1;
    end;
    
    writeln(p);
end.
4,8(10 оценок)
Открыть все ответы
Ответ:
alenagalcheva
alenagalcheva
04.05.2022
модуль

unit SpaceLib;

interface

uses System;

const

   ch = ' ';

function MyTrimLeft(s: string): string;

function MyTrimRight(s: string): string;

function MyTrim(s: string): string;

function MySingleSpaces(s: string): string;

function MyNoSpaces(s: string): string;

implementation

function MyTrimLeft(s: string): string;

begin

   MyTrimLeft := Regex.Replace(s, '^[' + ch + ']+', '');

end;

function MyTrimRight(s: string): string;

begin

   MyTrimRight := Regex.Replace(s, '[' + ch + ']+$', '');

end;

function MyTrim(s: string): string;

begin

   s := Regex.Replace(s, '^[' + ch + ']+', '');

   MyTrim := Regex.Replace(s, '[' + ch + ']+$', '');

end;

function MySingleSpaces(s: string): string;

begin

   s := MyTrim(s);

   MySingleSpaces := Regex.Replace(s, '[' + ch + ']+', ' ');

end;

function MyNoSpaces(s: string): string;

begin

   MyNoSpaces := s.Replace(ch, '');

end;

end.


Пример

//PascalABC.NET версия 3.4.0.1677 от 17.06.18

//Если программа не запускается, то обновите версию

uses SpaceLib;

begin

   var s := '   123 123  23 4343    434 43 34    ';

   WritelnFormat('"{0}"', MyTrimLeft(s));

   WritelnFormat('"{0}"', MyTrimRight(s));

   WritelnFormat('"{0}"', MyTrim(s));

   WritelnFormat('"{0}"', MySingleSpaces(s));

   WritelnFormat('"{0}"', MyNoSpaces(s));

end.

4,6(15 оценок)
Ответ:
Bikolik27nn
Bikolik27nn
04.05.2022

var a,b,c: integer;

begin

write('Введите пятизначное число:');

readln(c);

if (c >= 10000) and (c <= 99999) then

begin

a:=c;

while a>0 do

begin

b:=b*10+a mod 10;

a:=a div 10

end;

writeln ('Вы ввели число: ',c);

write ('Переворот числа: ',b)

end

else

begin

writeln('Число не пятизначное');

writeln ('Вы ввели число: ',c)

end

end.

Или всё через if:

var a,b,c: integer;

begin

write('Введите пятизначное число:');

readln(c);

if (c >= 10000) and (c <= 99999) then

begin

a:=c;

if a>0 then

begin

b:=b*10+a mod 10;

a:=a div 10

end;

if a>0 then

begin

b:=b*10+a mod 10;

a:=a div 10

end;

if a>0 then

begin

b:=b*10+a mod 10;

a:=a div 10

end;

if a>0 then

begin

b:=b*10+a mod 10;

a:=a div 10

end;

if a>0 then

begin

b:=b*10+a mod 10;

a:=a div 10

end;

writeln ('Вы ввели число: ',c);

write ('Переворот числа: ',b)

end

else

begin

writeln('Число не пятизначное');

writeln ('Вы ввели число: ',c)

end

end.

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