• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Подпрограммы. Паскаль

Данелия

Ученик
Регистрация
16 Май 2016
Сообщения
2
Реакции
0
Баллы
0
Подпрограммы. Паскаль

Решить с помощью функций или процедуры. Помогите ,пожалуйста!

1. Найти произведение четных делителей натурального числа.
2. Найти сумму целых чисел из промежутка от 1 до 200, у которых ровно 5 делителей.
 
Код:
uses  Crt;
procedure F1(an:integer;var ak:longint);
var   i:integer;
begin
       for i:=1 to an do
        if (i mod 2)=0 then
         if (an mod i)=0 then
          ak:=ak*i;
end;
function F2:integer;
var   i,j,t:integer;
begin
      F2:=0;
       for i:=1 to 200 do
        begin
          t:=0;
          for j:=1 to i do
           begin
             if (i mod j)=0 then Inc(t);
             if t>5 then Break;
           end;
          if t=5 then F2:=F2+i;
        end;
end;
var   n:integer;
      k:longint;
begin
      ClrScr;
       repeat
         Write('Naturalnoe cislo n<101 = '); Readln(n);
       until n<101;
       Writeln;
       k:=1;
       F1(n,k);
       if k=1
        then Writeln('Net cetmih deliteley')
        else Writeln('Proisvedenie = ',k);
       Writeln;
       Writeln('Summa cisel s 5_ju deliteljami = ',F2);
      ReadKey;
end.
 
Последнее редактирование:
Назад
Сверху