Задачи за тренинг
Задача 10а.
Да се напише програма, която да отговаря на серия от различни
типове заявки върху простите числа в интервала [2, 108].
Заявките са дадени в следната таблица:
Тип заявка Очакван отговор
A a b
Броя на простите числа в интервала [a, b].
B
k
Най-малкият прост делител на k.
C
k
1 - ако k е просто число и 0 в противен случай.
D
k
1 - ако k обърнато на обратно (след премахването на водещите нули,
ако има такива) е просто число и 0 - в противен случай.
E
k
Най-близкото просто число до k. Ако две числа са еднакво близо до k,
да се изведат и двете в нарастващ ред.
F
k
Броят на простите числа, по-малки от k.
quit
Прекратяване изпълнението на програмата.
Първият символ за всяка от командите е малка или главна латинска
буква.
Пример:
A 3 7
B 176
C 95
D 11
Е 5
F 20
Е 6
quit
Решение на примера:
3
2
0
1
5
8
5 7
Задача
10b.
Низът X е
анаграма на низа Y, ако X може да бъде получен от разместването на
символите на Y. Например всеки от низовете "baba", "abab", "aabb"
и "abba" е анаграма на "aabb", а низовете "aaab", "aab" и
"aabc" не са анаграми на "aabb".
По зададено множество от низове S да се намери най-голямото му
подмножество, в което няма два или повече низа, които да са анаграми
един на друг.
Вход:
Всеки тестов пример е зададен на стандартния вход с един непразен
ред, съдържащ низовете от S, разделени с един или няколко интервала.
Всяко множество S съдържа между 1 и 50 низа, всеки от които е с
дължина от 1 до 50.
Изход:
За всеки тестов пример на стандартния изход да се изведе по едно
число – броя на низовете в исканото подмножество.
Пример:
abcd abac
aabc bacd
wlrb m bhc arz wk
yhi dqs dxr
mowfr sjyb
ab
ba
z
Решение на примера:
2
10
1
1