zaqejkxr | Канал посвящен информатике, основам программирования и информационным технологиям в разных сферах. Будет полезен для школьников, а также студентов и всем тем, кто интересуется фундаментальными и прикладными сферами информационных технологий в широком смысле. Здесь собираются авторские материалы по основам теоретической и прикладной информатики, рассматриваются основы программировавшая. Лекции и занятия позволят подготовиться к выпускным экзаменам школьников (ОГЭ и ЕГЭ), а также студентам разных профилей обучения от базового до продвинутого уровня.
Можно пройти бесплатный курс по базовым разделам теории в информатике: mooped.net/local/coursemanage/courseinfo.php?id=99
Здравствуйте. Но ведь у сжатого изображения количество точек меньше, чем у исходного(до сжатия). Мы нашли размер исходного изображения, но делим почему-то на количество точек сжатого. Почему? Разве количество точек не изменяется при сжатии изображения?
Код можно сделать эффективнее в 2025 раз. А еще - чуть сократить регулярное выражение. ## Range(2025, 100000000, 2025).AsParallel .Where(t -> t.ToString.IsMatch('^12\d*34\d5$')) .Sorted .PrintLines(t -> $'{t} {t div 2025}')
Здравствуйте. Решала задачу с сайта Полякова 17-381. Не сходится с ответом. Написала на форум, там предложили решение на Питоне. Не могу найти ошибку. Помогите пожалуйста. Вот моё решение ## var s:=ReadAllText('17-381.txt').ToIntegers; var max39 := s.Where(x -> (x mod 100 = 39)and(abs(x) in 1000..9999)).max.print;; var n:=s.Nwise(2) .Where(\(a,b)-> ((abs(a) in 1000..9999)xor(abs(b) in 1000..9999))) .Where(\(a,b)-> ((a+b)*(a+b))<= max39*max39) .Select (\(a,b)-> a+b); print(n.Count,n.Max)
В этой реализации вы не учитываете факт переполнения типа Integer, так как там квадрат суммы может быть 10^10, а для Integer это 10^9. Вот попробуйте так:
## var s := ReadAllLines('17-381.txt').Select(t->t.ToBigInteger); var max39 := s.Where(x -> (abs(x) mod 100 = 39) and ((1000<=abs(x)) and (abs(x)<=9999))).max; var n := s.Nwise(2) .Where(\(a,b)-> ((1000<=abs(a)) and (abs(a)<=9999)) xor ((1000<=abs(b)) and (abs(b)<=9999))) .Where(\(a,b)-> (a + b) * (a + b) <= max39 * max39) .Select(\(a,b)-> a + b); print(n.Count, n.Max)
Если начали с Паскаля, почему в нем и не решить? ## {$zerobasedstrings} var alp := ('А'..'Е').JoinToString + 'Ё' + ('Ж'..'Я').JoinToString; var s0 := 'ХОЧУСПАТЬ'; var sum := 0bi; var p := alp.Length; var q := 1bi; for var i := s0.Length - 1 downto 0 do begin sum += q * alp.IndexOf(s0[i]); q *= p end; Print(BigInteger(p) ** s0.Length - sum)
Задача (как и большинство в ЕГЭ), не имеющая практического смысла. О том, как без нужды увеличить загрузку исполнителя. Ни один из реально существующих алгоритмов распределения параллельных потоков не использует подобное планирование. Ценность подобных задач нулевая: они не учат ничему. Зато решать их приходится подбором.
Мы исходим из того, что есть. Алгоритмической ценности такие задачи не представляют никакой с этим полностью согласен. В шутку называю их сыграть в "Тетрис". У меня у самого к таким заданиям много вопросов, на которые нет пока ответов)
@@infup, когда я вижу вариации заданий на эту тему, вспоминается изречение "Один дурак может задать столько вопросов, что и 99 умных не ответят". Планирование исполнения параллельных процессов - тема интересная и актуальная, по ней есть много работ, в том числе, диссертаций. Когда постановка задачи предполагает некоторую оптимизацию выполнения - это отличная постановка. Но задача, подобная рассмотренной - это "фигня на постном масле". Как говорилось в известном армейском анекдоте, "Мне не так важен результат, как важно, чтобы вы замаялись".
Можно вспомнить, конечно, что если число делится и на 24, и на 75, оно также делится на их НОК, равное 600, но это НОК еще найти нужно. Для данной задачи проще решать "в лоб". Если перебор большой, упрощение расчетов во внутреннем цикле может дать определенный выигрыш.
Здравствуйте! Вот набор всех заданий: kpolyakov.spb.ru/school/ege/gen.php?action=viewAllEgeNo&egeId=15&cat67=on&cat68=on&cat69=on&cat70=on&cat123=on&cat167=on
Но можно решить эту задачу куда проще! Подумайте, почему значение 8375 or 6743 является ответом )) И это можно решить как на калькуляторе, так и программным путем: ## Print(8375 or 6743)
## var P := 10..21; var Q := 13..38; var R := 18..25; var f: (integer, intRange) -> boolean := (x, A) -> (not((x in Q) <= ((x in P) or (x in R)))) <= (not(x in A) <= not(x in Q)); var mn := MaxInt; for var a1 := 0 to 99 do for var a2 := a1 + 1 to 100 do begin var A := a1..a2; if (-10..110).All(x -> f(x, A)) then mn := Min(mn, A.Count); end; Print(mn)
Очень сложное регулярное выражение. Эту задачу можно решить гораздо проще: ## 'ГЛУБИНА'.Permutations.Count(s -> not s.IsMatch('[АИ].*Г')).Print Условие простое: НЕ ДОЛЖНО БЫТЬ ТАК, ЧТОБЫ БУКВА "А" или "И" встретилась раньше, чем буква "Г".
Информатика ЕГЭ 6 задание. Задача 6894. Задача с параметром про Черепашку 00:00 Разбор задачи • Ипатов Юрий разбирает шестую задачу с сайта Полякова, посвященную исполнителю черепахи. • Задача включает в себя инициализацию черепахи с опущенным хвостом, а также команды "вперед" и "вправо". • Ипатов заменяет команды "вперед" и "вправо" на "влево" и "вправо", соответственно, и исправляет циклы. 06:32 Расчёт количества точек • Ипатов решает задачу, определяя наименьшее натуральное число, при котором количество точек с целочисленными координатами, принадлежащих первой фигуре, но не принадлежащих второй, будет больше 440. • Он использует Excel для расчета количества точек в прямоугольнике и квадрате, а также выводит параметрическую формулу для расчета значений при большей размерности. • В итоге, Ипатов получает ответ 211, который совпадает с ответом из задачи.
Я вот чего не понимаю. Смотрю Спецификацию из ДЕМО ФИПИ на 2024 год и вижу, что тамошние мудрецы отвели на задание №6 4 минуты. Интересно, хоть один их них сможет эту задачу прочитать, понять, решить и проверить за 4 минуты?
В задаче 4 согласных и 3 гласных. Так что вариант "ГСГСГСГ" можно было не рассматривать. И без модуля school всё работает. ## 'ВЕБИНАР'.Permutations.where(s->s.ismatch('([ВБНР][ЕИА]){3}[ВБНР]')).Count.Print;
Есть такой способ решения. ### Uses school; var s:= ReadAllText('24-264.txt'); (1..50).Wh(i → s.Nwise(i).wh(w → (w.first <> '0')and (w.all(a → a in '0123456789ABCDEF'))).cnt>0).last.pr
Пайтон тут курит бамбук, а на современном Паскале это можно решить в три строки: ## uses School; var net := new CalcIP('216.130.64.0', '255.255.192.0'); net.GenAddrBin.Skip(1).Count(s -> s[8] + s[16] + s[24] + s[32] = '0000').Print // 4095