gymnazium
?>

Паскаль! в промежутке от 1 до n вывести все числа, сумма делителей которых(включая 1 и не включая само число) равна самому числу.

Информатика

Ответы

lika080489
Var n,i,j,s:integer;
begin
write('n=');readln(n);
for i:=1 to n do
 begin
  s:=0;
  for j:=1 to i div 2 do
   if i mod j = 0 then s:=s+j;
  if i=s then write(i,' ');
 end;
writeln;
end.
russstep
Задача
Требуется написать программу, вычисляющую значение какой-либо функции у = f(x). Допустим, такой:

у = x – 2, если x > 0,
y = 0, если x = 0,
y = |x|, если x < 0.
Решение
При определении значений подобных функций переменная y вычисляется по-разному (по разным формулам) в зависимости от значения x.

Такие задачи решаются с конструкции условного оператора if - else. Поскольку в данном случае мы имеем три условия (x > 0, x = 0 и x < 0), то потребуется использование еще вложенной конструкции if - else, т. к. в языке Pascal нет оператора множественного ветвления (оператор case в данном случае не подходит).

В языке программирования Паскаль (да и в других тоже) желательно вложенные конструкции if - else помещать во внешнюю ветку else, а не if. Так проще не запутаться.

Таким образом, алгоритм вычисления значения функции может быть таким:

Если x > 0, то у = x - 2
Иначе (ниже идет вложенная конструкция)
Если x = 0, то y = 0
Иначе y = |x|.
В последнем пункте можно опустить оператор if с проверкой, что x < 0, так как если ход выполнения программы дошел до этого пункта, то x уже другим быть и не может (варианты, когда он больше или равен нулю, уже были исключены).

Если не трудно отблагодари
siyaniemoskva
Задача
Требуется написать программу, вычисляющую значение какой-либо функции у = f(x). Допустим, такой:

у = x – 2, если x > 0,
y = 0, если x = 0,
y = |x|, если x < 0.
Решение
При определении значений подобных функций переменная y вычисляется по-разному (по разным формулам) в зависимости от значения x.

Такие задачи решаются с конструкции условного оператора if - else. Поскольку в данном случае мы имеем три условия (x > 0, x = 0 и x < 0), то потребуется использование еще вложенной конструкции if - else, т. к. в языке Pascal нет оператора множественного ветвления (оператор case в данном случае не подходит).

В языке программирования Паскаль (да и в других тоже) желательно вложенные конструкции if - else помещать во внешнюю ветку else, а не if. Так проще не запутаться.

Таким образом, алгоритм вычисления значения функции может быть таким:

Если x > 0, то у = x - 2
Иначе (ниже идет вложенная конструкция)
Если x = 0, то y = 0
Иначе y = |x|.
В последнем пункте можно опустить оператор if с проверкой, что x < 0, так как если ход выполнения программы дошел до этого пункта, то x уже другим быть и не может (варианты, когда он больше или равен нулю, уже были исключены).

Если не трудно отблагодари

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

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

Паскаль! в промежутке от 1 до n вывести все числа, сумма делителей которых(включая 1 и не включая само число) равна самому числу.
Ваше имя (никнейм)*
Email*
Комментарий*

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

d2002
Андрееевич787
Sergei_sergei
gbnn90
sttig
Yelena Dilyara
maksteks
Владислава531
goldservicepro
vps1050
s2010av565
germanleon
liza04521160
T91610933073266
Aleksandrivanovna