// PascalABC.NET 3.0, сборка 1076 begin var n:=ReadInteger('Введите количество элементов массива: '); var a:=ArrRandom(n,1000,10000); Write('Исходный массив: ',a,#13#10); Write('Множество цифр из разряда сотен: '); a.Select(x->(x mod 1000) div 100).Sorted.Distinct.Println(',') end.
Тестовое решение: Введите количество элементов массива: 8 Исходный массив: [9374,4420,8856,8274,7555,2461,8302,6325] Множество цифр из разряда сотен: 2,3,4,5,8
2. "Школьный вариант"
// PascalABC.NET 3.0, сборка 1076 var i,n:integer; sd:set of 0..9; a:array[1..50] of integer; begin Write('Введите количество элементов массива: '); Read(n); Randomize; Write('Исходный массив: '); sd:=[]; for i:=1 to n do begin a[i]:=Random(9001)+1000; Write(a[i],' '); Include(sd,(a[i] mod 1000) div 100) end; Writeln; Write('Множество цифр из разряда сотен: '); for i:=0 to 9 do if i in sd then Write(i:2); Writeln end.
Тестовое решение: Введите количество элементов массива: 8 Исходный массив: 5332 4215 7231 3399 6989 8904 7804 3517 Множество цифр из разряда сотен: 2 3 5 8 9
Ищем в именах файлов закономерности, чтобы выделить пять из них. 1. Есть ровно пять файлов, начинающихся символом "p". В расширении имени (после точки) они имеют от одного до трех символов. Регулярное выражение будет иметь вид p[a-z]*.[a-z]* 2. Есть ровно пять файлов, имена которых завершаются символом "r". В расширении имени (после точки) они имеют от двух до трех символов. Регулярное выражение будет иметь вид [a-z]*r.[a-z]*
Ищем среди ответов похожий. p+[a-z]*.[a-z]* - в принципе, то же, знак + тут необязателен, но и не мешает. [a-z]*r+.[a-z]{3} - все портит это {3}, требующее ровно 3 повторения, а у нас от 2 до 3.
import calendar
a =calendar.LocaleHTMLCalendar(locale='Russian_Russia')
with open('calendar.html', 'w') as g:
print(a.formatyear(2014, width=4), file=g)
Объяснение:
Я не понял на каком языке написать, и я решил написать на python, потому-что больше я не знаю.