Страница: 1
2 >> [Всего задач: 7]
В массивах
a: array[0..k] of integer и
b:
array[0..l] of integer хранятся коэффициенты двух
многочленов степеней
k и
l. Поместить в массив
c: array[0..m] of integer коэффициенты их
произведения. (Числа
k,
l,
m — натуральные,
m =
k +
l; элемент массива с индексом
i
содержит коэффициент при степени
i.)
Пусть P = (p
1, ... , P
n
) является перестановкой чисел 1, 2, ..., n. Таблицей инверсии
перестановки P называют последовательность T = (t
1, ...,
t
n), в которой t
i равно числу элементов перестановки Р,
стоящих (в Р) левее числа i и больших i. Например, для перестановки Р = ( 5,
9,1, 8, 2, 6, 4, 7, 3 ) чисел 1, ... , 2, ... , 9 таблица инверсий Т = ( 2, 3,
6, 4, 0, 2, 2, 1, 0 ). Написать программу, которая по заданной таблице инверсии
восстанавливает перестановку.
[Сопротивление
]
|
|
Сложность: 3+ |
Задана электрическая схема из некоторого количества узлов и N резисторов, их
соединяющих. Напишите программу, вычисляющую сопротивление между
двумя заданными узлами A и B этой схемы. Допускается частичное решение
задачи для случая параллельно-последовательных схем.
Пояснения для тех, кто плохо учил в школе физику:
1. Сила тока равна напряжению, поделенному на сопротивление: I = U
/
R.
2. Сумма токов, втекающих в узел, равна сумме токов, вытекающих из него.
3. Сумма падений напряжений I · R на отдельных участках произвольного
замкнутого контура равна сумме всех ЭДС в этом контуре.
Как следствие, получаем следующие формулы:
1. При последовательном соединении резисторов с сопротивлениями R1
и R2 общее сопротивление R вычисляется по формуле R = R1
+
R2;
2. При параллельном соединении резисторов с сопротивлениями R1
и R2
общее сопротивление R вычисляется по формуле 1
/
R = 1
/
R1
+
1
/
R2.
Входные данные
В первой строке входного файла содержится целое число N – количество
резисторов в схеме (1 ≤ N ≤ 50). Во второй строке записаны номера узлов A и B
(узлы нумеруются начиная с 1). Каждая из следующих N строк содержит
описание очередного резистора в виде тройки целых чисел из диапазона
[0, 32767], записанных через пробел. Первые два числа задают номера двух
различных узлов схемы, которые этот резистор соединяет, а третье – его
сопротивление. Между двумя узлами схемы могут располагаться несколько
резисторов.
Выходные данные
Выведите в выходной файл искомое сопротивление не менее чем с 6 верными
значащими цифрами.
Пример входного файла
4
1 2
1 3 1
3 4 1
4 3 1
2 4 1
Пример выходного файла
2.50
(В. Баур, Ф.Штрассен)
Дана программа вычисления значения некоторого многочлена
P(
x1,...,
xn), содержащая только команды
присваивания. Их правые части — выражения, содержащие
сложение, умножение, константы, переменные
x1,...,
xn
и ранее встречавшиеся (в левой части) переменные. Доказать,
что существует программа того же типа, вычисляющая все
n производных
P/
x1,...,
P/
xn,
причём общее число арифметических операций не более чем
в
C раз превосходит число арифметических операций
в исходной программе. Константа
C не зависит от
n.
Предложенный выше алгоритм перемножения многочленов требует
порядка
n2 действий для перемножения двух многочленов
степени
n. Придумать более эффективный (для больших
n)
алгоритм, которому достаточно порядка
nlog 4/log 3 действий.
Страница: 1
2 >> [Всего задач: 7]