phiskill559
?>

C++.совершенным называется число, равное сумме всех своих делителей, меньших его самого (например, число 6=1+2+3 напишите программу, которая вводит натуральное число n и определяет, является ли число n совершенным.

Информатика

Ответы

kon200182
#include <bits/stdc++.h>

using namespace std;

bool perfect_number(int n)
{
    int res = 1;
    for (int i = 2; i * i <= n; ++i)
        if (n % i == 0)
            res += i + n / i;
    return res == n?1:0;
}

int main()
{
    int n;
    cin >> n;
    cout << perfect_number(n)?"YES":"NO";
}
vahmistrova
PascalABC.NET 3.3.5, сборка 1660 от 20.04.2018
Внимание! Если программа не работает, обновите версию!

function Min(a:array of integer):=a.Min;

procedure Max(a:array of integer; var mx,imx:integer);
begin
  imx:=a.IndexMax; mx:=a[imx]; imx+=1;
end;

begin
  var a:=ReadArrInteger('А:',5);
  var b:=ReadArrInteger('B:',7);
  var c:=ReadArrInteger('C:',9);
  var emax,imax,gmax,lmin:integer;
  gmax:=Min(a);
  Max(a,emax,imax); Writeln('A: min=',gmax,', маx=',emax,' [',imax,']');
  lmin:=Min(b);
  Max(b,emax,imax); Writeln('B: min=',lmin,', маx=',emax,' [',imax,']');
  gmax:=Max(gmax,lmin);
  lmin:=Min(c);
  Max(c,emax,imax); Writeln('C: min=',lmin,', маx=',emax,' [',imax,']');
  gmax:=Max(gmax,lmin);
  Writeln('Максимальный из минимумов равен ',gmax)
end.

Б) ввести три массива а[1..5], в[1..7], с[1..9]. при функции определить минимальный элемент в каждом
Galinagol559
1) 
Если не принимать во внимание то, что иллюстрации тоже занимают место в «рукописи», то получаем объем, занимаемый текстом  4096*1024*128*16=8 589 934 592 бит занимает текст, для того, чтобы получить количество байт необходимо это число разделить на 8, т.к. в одной байте 8 бит. Получаем 1 073 741 824 байт. Далее, чтобы получить килобайты надо полученное число разделить на 1024. Получим 1 048 576 кБ. Чтобы получить мегабайты, делим килобайты на 1024. Получаем 1024 мегабайт или 1 гигабайт (т.к. 1 гигабайт = 1024 мегабайт).

Далее считаем объем, занимаемый иллюстрациями:

2520*3=7560 мегабайт. Делим на 1024 и получаем 7,3828125 гигабайт.

Складываем полученные суммы: 1+7,3828125=8,3828125 гигабайт. Что превышает объем флеш-карты. Соответственно в несжатом виде «рукопись» не поместится.

2) 

а) Из предыдущей задачи мы знаем, что символ кодируется 16 битами. Соответственно, чтобы получить объем, занимаемый одной книгой перемножаем 256*128*64*16=33 554 432 бита = 4 194 304 байта = 4 096 кБ = 4 мегабайта. Чтобы узнать сколько книг поместится на жесткий диск необходимо объем жесткого диска умножить на 1024 (получим объем в мегабайтах): 160 Гбайт *1024 = 163 840 мегабайт. Теперь делим объем жесткого диска на объем одной книги: 163 840 / 4 = 40 960 книг.

б) Теперь перемножаем количество книг на 3 сантиметра и получаем высоту стопки книг: 40 960*3=122 880 см.

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

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

C++.совершенным называется число, равное сумме всех своих делителей, меньших его самого (например, число 6=1+2+3 напишите программу, которая вводит натуральное число n и определяет, является ли число n совершенным.
Ваше имя (никнейм)*
Email*
Комментарий*

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

avto3132
office
colus77
Иванина
Olesya-elena1525
filimon131262
Guru-tailor
chumakanna17
laleonaretouch
Белов_Лукина1339
Nikolaevich_Vladimirovich1509
kgrechin
nikitamihailov22095010
mrvasilev2012
georgegradoff122