Python при сравнивании чисел сравнивает десятки, например: 4, 5, 6, 7, 69 - большое выбирает в двузначных по десятку, то есть в 69 берёт 6, которое меньше 7 и получается, что 7 максимальное, что делать?
1. Задача решается с стека (алгоритм Дейкстры для обработки обратной польской записи). Предполагается, что во вводимой строке содержится корректное выражение, удовлетворяющее условиям задания.
// PascalABC.NET 3.3, сборка 1555 от 21.10.2017 // Внимание! Если программа не работает, обновите версию!
begin var w:=ReadlnString.ToWords; var St:=new Stack <integer>; var r:=0; foreach var t in w do if t[1].IsDigit then St.Push(t.ToInteger) else begin var a:=St.Pop; var b:=St.Pop; case t[1] of '+':St.Push(a+b); '-':St.Push(b-a); '*':St.Push(a*b) end; end; Writeln(St.Pop) end.
Контрольный пример 8 9 + 1 7 - * -102
2. Задача крайне просто решается при регулярного выражения с рекурсией. Фактически вводить количество шаров не нужно, поэтому после ввода оно отбрасывается.
// PascalABC.NET 3.3, сборка 1555 от 21.10.2017 // Внимание! Если программа не работает, обновите версию!
begin Writeln(ReadlnString.ToWords.Skip(1).JoinIntoString(''). MatchValue('(.)\1{2,}').Length); end.
Что такое процессор с горем пополам знают многие люди, но как разбираться в технической документации к нему. Что в прайсе значат непонятные цифры и другие подобные вопросы осилит далеко не каждый пользователь. Да и порой знатоки компьютера не всегда четко представляют, что значит разрядность, например. Давайте продолжим разбирать основные характеристики процессора.
1.Количество ядер — этот параметр показывает количество одновременно работающих программ. Но не думайте, что если вы запустите Word и Winamp на компютере с одним ядром, что у вас программы работают одновременно. Они работают последовательно переключаясь с одной на другую, но делают это так быстро, если у вас быстрый компьютер, что мы этого не замечаем.Количество ядер в последнее время прочно вошло в основные характеристики процессора, что многие ошибочно полагают, что если ядер больше, то всегда будет прирост производительности. К сожалению если программа не оптимизирована под 4 ядра, то вы хоть убейтесь она 4 ядра использовать не будет.Нужна ли многоядерность?
2.Частота процессора — это скорость с которой происходит обмен данными между процессором и системной шиной компьютера. Её любят указывать продавцы в прайсах. Измеряется точно также как тактовая частота и по понятным причинам всегда ниже.
3.Коэффициент умноженияили умножение) – он нужен, чтобы получить тактовую частоту процессора. Частоту шины вам нужно умножить коэффициент. Помнить нужно только одно в процессорах Intel есть одна полезная технология со смешным названием Quad Pumping — так вот она позволяет передать 4 блока данных за такт, поэтому маркетологи пользуются этим и преувеличивают в 4 раза физическую частоту шины.
4.Тепловыделение процессора — измеряется в ватах. Простым языком если сказать, то показывает какой мощности у вас должен быть вентилятор(кулер), чтобы обеспечить бесперебойную работу. Это очень важный параметр для любителей повыделываться и разгонять процессоры выше номинала.
5. Максимальная рабочая температура — всё то, что вы прочитали о тепловыделении можно отнести и к температуре. Если вы превысите максимум, то процессор перегреется, и вполне возможно компьютер или выключится или сам начнет перезагружаться.
6.Поддержка различных технологий — если в прайсе вдруг через запятую перечисляются непонятные для вас технологии типа SSE2 или 3DNow, то знайте, что это хорошо. Мир не стоит на месте, вот и производители придумывают разные фишки для лучшей работы процессора. Это всё равно, что на соковыжималке будет написано, «а ещё она умеет шинковать кубиками, колечками и посуду моет». Чем больше функциональности тем лучше. Ну вот так примерно в двух частях и рассказаны были основные характеристики процессора. и т.д
// PascalABC.NET 3.3, сборка 1555 от 21.10.2017
// Внимание! Если программа не работает, обновите версию!
begin
var w:=ReadlnString.ToWords;
var St:=new Stack <integer>;
var r:=0;
foreach var t in w do
if t[1].IsDigit then St.Push(t.ToInteger)
else begin
var a:=St.Pop;
var b:=St.Pop;
case t[1] of
'+':St.Push(a+b);
'-':St.Push(b-a);
'*':St.Push(a*b)
end;
end;
Writeln(St.Pop)
end.
Контрольный пример
8 9 + 1 7 - *
-102
2. Задача крайне просто решается при регулярного выражения с рекурсией. Фактически вводить количество шаров не нужно, поэтому после ввода оно отбрасывается.
// PascalABC.NET 3.3, сборка 1555 от 21.10.2017
// Внимание! Если программа не работает, обновите версию!
begin
Writeln(ReadlnString.ToWords.Skip(1).JoinIntoString('').
MatchValue('(.)\1{2,}').Length);
end.
Контрольный пример
5 2 3 3 3 1
3
Что такое процессор с горем пополам знают многие люди, но как разбираться в технической документации к нему. Что в прайсе значат непонятные цифры и другие подобные вопросы осилит далеко не каждый пользователь. Да и порой знатоки компьютера не всегда четко представляют, что значит разрядность, например. Давайте продолжим разбирать основные характеристики процессора.
1.Количество ядер — этот параметр показывает количество одновременно работающих программ. Но не думайте, что если вы запустите Word и Winamp на компютере с одним ядром, что у вас программы работают одновременно. Они работают последовательно переключаясь с одной на другую, но делают это так быстро, если у вас быстрый компьютер, что мы этого не замечаем.Количество ядер в последнее время прочно вошло в основные характеристики процессора, что многие ошибочно полагают, что если ядер больше, то всегда будет прирост производительности. К сожалению если программа не оптимизирована под 4 ядра, то вы хоть убейтесь она 4 ядра использовать не будет.Нужна ли многоядерность?
2.Частота процессора — это скорость с которой происходит обмен данными между процессором и системной шиной компьютера. Её любят указывать продавцы в прайсах. Измеряется точно также как тактовая частота и по понятным причинам всегда ниже.
3.Коэффициент умноженияили умножение) – он нужен, чтобы получить тактовую частоту процессора. Частоту шины вам нужно умножить коэффициент. Помнить нужно только одно в процессорах Intel есть одна полезная технология со смешным названием Quad Pumping — так вот она позволяет передать 4 блока данных за такт, поэтому маркетологи пользуются этим и преувеличивают в 4 раза физическую частоту шины.
4.Тепловыделение процессора — измеряется в ватах. Простым языком если сказать, то показывает какой мощности у вас должен быть вентилятор(кулер), чтобы обеспечить бесперебойную работу. Это очень важный параметр для любителей повыделываться и разгонять процессоры выше номинала.
5. Максимальная рабочая температура — всё то, что вы прочитали о тепловыделении можно отнести и к температуре. Если вы превысите максимум, то процессор перегреется, и вполне возможно компьютер или выключится или сам начнет перезагружаться.
6.Поддержка различных технологий — если в прайсе вдруг через запятую перечисляются непонятные для вас технологии типа SSE2 или 3DNow, то знайте, что это хорошо. Мир не стоит на месте, вот и производители придумывают разные фишки для лучшей работы процессора. Это всё равно, что на соковыжималке будет написано, «а ещё она умеет шинковать кубиками, колечками и посуду моет». Чем больше функциональности тем лучше. Ну вот так примерно в двух частях и рассказаны были основные характеристики процессора.
и т.д