В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
сима666
сима666
11.01.2020 05:31 •  Информатика

Даны два целых положительных числа M, N. Требуется найти все «дружественные» пары чисел на отрезке [M; N]. Дружественным для числа А является такое число В, что
оно равно сумме делителей А, исключая само значение А. И наоборот, сумма делителей В,
исключая В, равняется А. A не равно B.

Input
Со стандартного устройства ввода в первой строке через пробел вводятся два целых
положительных числа M (2<=M<=10 5 ) и N (2<=M<=N<=10 5 ).
Output
Требуется вывести все пары «дружественных» чисел, расположенные на отрезке [M; N].
Пару «дружественных» чисел (E, F) нужно выводить раньше пары «дружественных»
чисел (K, P), когда минимальный элемент пары «дружественных» чисел (E, F) меньше
минимального элемента пары «дружественных» чисел (K, P).
Число E в паре «дружественных» чисел (E, F) нужно выводить раньше числа F из этой
же пары, когда Е меньше F.
Числа в паре нужно разделять пробелом, ставить пробел после второго члена пары
не нужно.
Sample Input
210
Sample Output
220
Примечание
Попробуйте реализовать функцию getSumOfDivisors(n), которая принимает число n, а
возвращает сумму делителей числа n, кроме самого n.

Показать ответ
Ответ:
Usoll
Usoll
25.12.2021 20:26

Экспоненциа́льная за́пись — представление действительных чисел в виде мантиссы и порядка. Удобна при представлении очень больших и очень малых чисел, а также для унификации их написания.

{\displaystyle N=M\cdot n^{p}} N=M\cdot n^{p}, где

N — записываемое число;

M — мантисса;

n — основание показательной функции;

p (целое) — порядок;

{\displaystyle n^{p}} n^{p} — характеристика числа.

Примеры:

1 000 000 (один миллион): {\displaystyle 1{,}0\cdot 10^{6}} 1{,}0\cdot 10^{6}; N = 1 000 000, M = 1,0, n = 10, p = 6.

1 201 000 (один миллион двести одна тысяча): {\displaystyle 1{,}201\cdot 10^{6}} 1{,}201\cdot 10^{6}; N = 1 201 000, M = 1,201, n = 10, p = 6.

−1 246 145 000 (минус один миллиард двести сорок шесть миллионов сто сорок пять тысяч): {\displaystyle -1{,}246145\cdot 10^{9}} -1{,}246145\cdot 10^{9}; N = −1 246 145 000, M = −1,246145, n = 10, p = 9.

0,000001 (одна миллионная): {\displaystyle 1{,}0\cdot 10^{-6}} 1{,}0\cdot 10^{{-6}}; N = 0,000001, M = 1,0, n = 10, p = −6.

0,000000231 (двести тридцать одна миллиардная): {\displaystyle 231\cdot 10^{-9}=2{,}31\cdot 100\cdot 10^{-9}=2{,}31\cdot 10^{2}\cdot 10^{-9}=2{,}31\cdot 10^{-9+2}=2{,}31\cdot 10^{-7}} 231\cdot 10^{{-9}}=2{,}31\cdot 100\cdot 10^{{-9}}=2{,}31\cdot 10^{2}\cdot 10^{{-9}}=2{,}31\cdot 10^{{-9+2}}=2{,}31\cdot 10^{{-7}}; N = 0,000000231, M = 2,31, n = 10, p = −7.

Объяснение: както так

0,0(0 оценок)
Ответ:
Lenusea10
Lenusea10
02.11.2022 17:29

int RowWithMax(double m[n][n], int j)

{

   double max_el = m[j][j];

   int max_i = j;

   for (int i = j; i < n; i++)

   {

       if (abs(m[i][j]) > abs(max_el))

       {

           max_el = m[i][j];

           max_i = i;

       }

   }

   return max_i;

}

 

void RowChange(double m[n][n], double f[n], int i1, int i2)

{

   for (int j = 0; j < n; j++)

   {

       /*m[i1][j] = m[i1][j] + m[i2][j];

       m[i2][j] = m[i1][j] - m[i2][j];

       m[i1][j] = m[i1][j] - m[i2][j];*/

       swap(m[i1][j], m[i2][j]);

   }

   

   swap(f[i1], f[i2]);

}

 

double StraightRun(double m[n][n], double f[n], int i) //прямой метод

{

   double el;

   double det = 1;

   int reverse = 0;

 

   int max_i = RowWithMax(m, i);

   if (i != max_i)

   {

       RowChange(m, f, i, max_i);

       //reverse++;

       det *= (-1);

   }

   el = m[i][i];

   det *= el;

   f[i] /= el;

   for (int i1 = n - 1; i1 >= i; i1--)

   {

       m[i][i1] /= el;

   }

   for (int i2 = i + 1; i2 < n; i2++)

   {

       el = m[i2][i];

       f[i2] -= f[i] * el;

       for (int j = n - 1; j >= i; j--)

       {

           m[i2][j] -= el * m[i][j];

       }

   }

 

 

   return det/**pow(-1, reverse)*/;

 

}

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота