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

Число называется совершенным, если сумма всех его делителей, кроме его самого есть это число. Например, делители числа 28: 1, 2, 4, 7, 14, 28. 1+2+4+7+14=28. С клавиатуры вводится число n. Определить является ли оно совершенным (используйте алгоритм нахождения делителей числа)напишите программу
​...

👇
Ответ:
kawmod
kawmod
03.03.2021

package main

import "fmt"

func ifNumberAbsolute(x int) (bool) {

   var numberDividers []int

   for i:=1; i<x; i++ {

       if x % i == 0 {

           numberDividers = append(numberDividers, i)

       }

   }

   var total = 0

   for i:=0; i<len(numberDividers); i++ {

       total = total + numberDividers[i]

   }

   var result bool

   if total == x {

       result = true

   }

   return result

}

func main() {

   var x int

   fmt.Scan(&x)

   fmt.Println(ifNumberAbsolute(x))

}

4,7(18 оценок)
Открыть все ответы
Ответ:
ghujftu
ghujftu
03.03.2021

{#1 Деление на числа меньше 7}

begin

var F: boolean;

var a: integer; read(a);

 for var x := 7 downto 1 do

 begin

   F := (a mod x = 0) ? true : false;

   if F <> true then break;

 end;

end.

{#2 Находится ли точка внутри окружности}

begin

 var F: boolean;

 var z: cardinal;

 var x,y: double; read(x,y,z);

  x := (x<1)? x*-1:x;

  y := (y<1)? y*-1:y;

  if (x<z) and (y<z) then  

 F := true;

end.

{#3 В трехзначном числе есть три одинаковые цифры}

begin

 var F: boolean;

 var n: integer; read(n);

 var s := n.ToString;

 if (s[1] = s[2])  

    or (s[2] = s[3])  

     or (s[1] = s[3]) then

 F := true;

end.

{#4 Точки лежат на одной прямой}

begin

 var F: boolean;

 var x1,y1,x2,y2,x3,y3: integer;

 read (x1,y1,x2,y2,x3,y3);

 if (x2 - x1)*(y3 - y1) - (x3 - x1)*(y2 - y1) = 0 then

 F := true;

end.

{#5 Х или трёхзначное чётное число или четырёхзначное нечётное}

begin

var F: boolean;

var x:integer; read(x);

var s:=x.ToString;

if ((length(s) = 3) and (x mod 2 = 0)) or ((length(s) = 4) and (x mod 2 <> 0)) then

F := true;

end.

4,5(71 оценок)
Ответ:
Petersen
Petersen
03.03.2021
//Pascal ABC.NET v3.0 сборка 1111

var
 i,a,b:integer;
 ar:array[1..10] of integer;

 procedure oddDec(var a,b:integer);  //подпрограмме переданы аргументы a и b
//процедура для вычитания в нечётном элементе
begin;
a:=a-b;
end;

procedure NotoddInc(var a,b:integer); //подпрограмме переданы аргументы a и b
//процедура для сложения в чётном элементе
begin;
a:=a+b;
end;

begin
randomize;
readln(a); //ввод a
readln(b); //ввод b
writeln('Array:');
for i:=1 to 10 do //весь массив
 begin;
  ar[i]:=random(-20,80); //случайные числа от -20 до 80 включительно
  write(ar[i]:4); //вывод
  if odd(i) then oddDec(ar[i],b) else NotoddInc(ar[i],a);
  {если нечётное, то первая процедура, иначе вторая. Обращаю внимания на то, что элементы меняются сразу после вывода}
 end;
writeln;
writeln('Final array:'); //вывод получившегося массива
for i:=1 to 10 do
write(ar[i]:4);
end.

Пример ввода:
20
10
Пример вывода:
Array:
  10  16   0  60  23   4  22 -20   4  55
Final array:
   0  36 -10  80  13  24  12   0  -6  75  
4,4(9 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ