pavdora073539
15.04.2020 10:42

Пусть A — массив, состоящий из N элементов. Обозначим его максимальное и минимальное значение как max и min соответственно. Вычислим сумму элементов S, S=A0+A1+…+AN-1. Заменим каждый элемент массива на разницу S и этого элемента: Ai:=S-Ai,. Такое преобразование массива A назовем операцией Confuse. Напишите программу, которая по массиву B, полученному в результате K–кратного применения операции Confuse к некоторому массиву A, вычислит разность max-min.

Формат входных данных
Первая строка входного файла содержит целые числа N и K, где N — количество элементов массива B (2 ≤ N ≤ 10000), а K — количество применений операции Confuse к начальному массиву A, 1 ≤ K ≤ 100.

Вторая строка файла содержит N элементов массива B. Элементы массива B — целые числа, по модулю не превосходящие 2×109.

Формат выходных данных
Единственная строка выходного файла должна содержать целое число - разность max и min.

входные данные
4 2
45 52 47 46

2002 1
-2638 -11902 -18492 7172 -15757 15640 -742 18059 -16512 9305 -17274 -1772 19283 -11129 15626 7485 -533 -10941 18999 -12963 7347 19167 7364 -13877 -3170 12602 15076 17923 -310 115 -8340 8509 13693 434 -15090 2620 312 -17933 -9557 9952 836 -9948 -13504 15760 -447 -8656 12725 19510 -17191 12657 11703 -14682 -17312 4452 11944 7953 -5979 4868 11124 18105 -6468 -2693 18316 10735 -10172 -4546 13930 207 13013 -10541 6168 5960 12637 7048 -17307 -7515 12782 3302 16295 -12647 12990 -7142 3260 -18974 -16201 18292 13284 -7771 5663 8396 9559 -17388 19937 169 -2120 4460 765 18192 3474 -14806 16556 5185 14314 12440 -10182 17509 9673 3360 -15886 -698 12653 -17937 -13135 -10929 5458 8800 16766 -7570 6142 -15312 4555 14779 -14397 15778 -4076 7638 3551 104 5238 -17581 2208 1599 -11103 5366 -3490 -5502 -12941 7399 19530 -17918 -17550 2658 1870 -6565 5058 9451 -16170 2026 -8587 -12630 -976 -10188 7253 4356 -11768 671 -17731 -12605 2269 6839 5741 -9329 12544 -7819 11752 14877 -11859 -4005 -17213 -8563
выходные данные
7

39947

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Доминика21233
16.11.2020 14:26
Немного теории.
Для того, чтобы избежать переполнения разрядной сетки, значение квадрата натурального числа не должно превышать максимального числа, представимого выбранным типом данных.
В языке Паскаль числа типа longint записываются в четырех байтах в дополнительном коде, т.е. максимальное значение числа не может превышать 2³¹-1. Тогда максимальное натуральное число, квадрат которого мы можем вычислить, равно целой части от величины:
\displaystyle \lim:= \sqrt{2^{31}-1} \approx 2^{31/2}=2^{15.5}= e^{15.5\cdot ln(2)} 

//PascalABC.Net 3.0, сборка 1066
var
  s:string;
  i,n,lim,l:longint;
begin
  lim:=Trunc(exp(15.5*ln(2)));
  Write('Введите номер позиции: '); Read(n);
  i:=0; l:=0;
  while (l<n) and (i<=lim) do begin
    Inc(i); Str(i*i,s); l:=l+Length(s);
  end;
  if i<=lim then Writeln('Искомая цифра- ',s[Length(s)-l+n])
  else Writeln('Решения в типе данных longint невозможно')
end.

Тестовое решение:
Введите номер позиции: 4
Искомая цифра- 1

Введите номер позиции: 33
Искомая цифра- 5
0,0(0 оценок)
Ответ:
TheGreatHaterMisha
02.02.2020 16:40
В Бейсике есть встроенная функция ATN - арктангенс,
поэтому угол можно в градусах посчитать.

DIM a, b, c, cs, cst, ang, PI
INPUT " a = ", a
INPUT " b = ", b
INPUT " c = ", c
PRINT
PI = 3.141593
cs = (b * b + c * c - a * a) / (2 * b * c)
cst = cs
IF cs < 0 THEN cst = SQR(1 - cs * cs)
ang = ATN(SQR(1 - cst * cst) / cst) * 360 / (2 * PI)
IF cs < 0 THEN ang = ang + 90
PRINT "угол A = ",
PRINT USING "###.##"; ang
cs = (a * a + c * c - b * b) / (2 * a * c)
cst = cs
IF cs < 0 THEN cst = SQR(1 - cs * cs)
ang = ATN(SQR(1 - cst * cst) / cst) * 360 / (2 * PI)
IF cs < 0 THEN ang = ang + 90
PRINT "угол B = ",
PRINT USING "###.##"; ang
cs = (a * a + b * b - c * c) / (2 * a * b)
cst = cs
IF cs < 0 THEN cst = SQR(1 - cs * cs)
ang = ATN(SQR(1 - cst * cst) / cst) * 360 / (2 * PI)
IF cs < 0 THEN ang = ang + 90
PRINT "угол C = ",
PRINT USING "###.##"; ang
PRINT "Выход - любая клавиша ... "
DO
LOOP WHILE INKEY$ = ""
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота