Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /**
- * Исходная строка, задача конечного автомата найти:
- * - в первом случае 2 буквы f
- * - во втором 2 любые буквы подряд
- **/
- $str = 'abcdeffghi';
- ########## Первый вариант ##########
- $state = 0;
- for ($i = 0; $i < strlen($str); $i++) {
- if($str[$i] === 'f'){
- $state = 1;
- } else {
- $state = 0;
- }
- if($str[$i] === 'f' && $state === 1){
- echo 'Double "f" found';
- break;
- }
- }
- ########## Второй вариант ##########
- function dubleletter($prev, $this){
- if($prev === $this){
- return 1;
- } else {
- return $this;
- }
- }
- $var = 0;
- while ($k < strlen($str)+1) {
- $var = dubleletter($var, $str[$k]);
- if($var === 1){
- echo 'Double letter found';
- } else{
- $k++;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement