Складіть проект у середовищі Scratch 2, у якому виконавець намалює три квадрати різних кольорів зі сторонами 100 кроків, якщо до нього доторкається вказівник миші. Збережіть проект у вашій папці у файлі з іменем завдання 3.4.7.
// PascalABC.NET 3.3, сборка 1625 от 17.01.2018 // Внимание! Если программа не работает, обновите версию!
function IsPrime(Self:integer):boolean; extensionmethod; // является ли число n простым begin if Self<4 then Result:=True else begin var found:=(Self mod 2=0); var p:=3; while (not found) and (sqr(p)<=Self) do begin found:=(Self mod p=0); p+=2 end; Result:=not found end end;
function SumDig(Self:integer):integer; extensionmethod; // возвращает сумму цифр числа n begin var n:=Self; Result:=0; while n>0 do begin Result+=n mod 10; n:=n div 10 end end;
begin 100.To(999).Where(t->t.SumDig.IsPrime).Println end.
S - Заданная символьная строка s2 - Заданное слово Идея проста: мы проходим по заданной строке и копируем подстроку, начиная с символа i, с количеством символов, равным количеством символов заданного слова. Например: Символьная строка: 34строка3254строка Заданное слово: строка Мы просто берём и проходим циклом 34строка3254строка 34строка3254строка 34строка3254строка ... и т.д. до самого конца. Если рассматриваемая нами подстрока равна заданному слову, то мы увеличиваем счётчик k на 1, после завершения цикла мы просто возвращаем значение нашего счётчика - количество вхождений заданного слова в строку. P.S. Мы идём циклом не от 1 до length(s), а от 1 + l1 - l2. К примеру в нашей строке нет смысла рассматривать подстроку, начиная отсюда 34строка3254строка т.к. символов в ней явно меньше чем в самом заданном слове, следовательно, дальше оно нам уже не попадётся:) Исходный код в приложении.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку