Дана
строка.
·
Если буква ‘f’ встречается в ней только один раз, выведите её индекс
(нумерация индексов начинается с 0).
·
Если буква ‘f’ встречается два или более раз, выведите индексы её
первого и последнего вхождения.
· Если буква
‘f’ в строке не встречается, ничего не выводите.
Вход. Одна
строка, длина которой не превышает 255 символов.
Выход. Выведите
результат в зависимости от количества вхождений буквы ‘f’ в строке.
Пример входа 1 |
Пример выхода 1 |
comfort |
3 |
|
|
Пример входа 2 |
Пример выхода 2 |
office |
1 2 |
обработка строка
Подсчитаем
количество вхождений буквы ‘f’ в строку, запомнив индексы её первого и последнего
появления.
Реализация алгоритма
Строку
читаем посимвольно до конца (до символа ‘\n’). Индекс
текущего символа хранится в переменной ind. Количество появлений буквы ‘f’
подсчитываем в переменной cnt.
cnt = 0; ind = 0;
while(scanf("%c",&ch),
ch != '\n')
{
В переменных f
и s сохраняем индексы первого и
последнего появления буквы ‘f’.
if
(ch == 'f')
{
Если встретилась буква ‘f’ и она
появляется впервые (переменная cnt равна 0), то присваиваем значение
текущего индекса переменной f.
if
(cnt == 0) f = ind;
Буква ‘f’ встретилась не впервые (если cnt > 0).
Присваиваем переменной s значение текущего индекса ind.
if
(cnt > 0) s = ind;
cnt++;
}
ind++;
}
Выводим ответ в зависимости от количества вхождений
буквы ‘f’ в строку.
if (cnt == 1)
printf("%d\n",f);
else
if (cnt > 1)
printf("%d
%d\n",f,s);
Java реализация
import java.util.*;
public class Main
{
public static void
main(String[] args)
{
Scanner con = new
Scanner(System.in);
String str = con.nextLine();
int first = str.indexOf("f");
int last = str.lastIndexOf("f");
if (first != -1)
{
if (first == last) System.out.println(first);
else System.out.println(first + "
" + last);
}
}
}
Python реализация
Читаем входную строку.
s = input()
Находим индексы первого и последнего симола ‘f’.
first_index = s.find('f')
last_index = s.rfind('f')
Выводим ответ.
if first_index == -1:
Буква ‘f’ не
встречается.
pass
elif first_index == last_index:
Буква ‘f’
встречается только один раз.
print(first_index)
else:
Буква ‘f’
встречается два и более раз.
print(first_index, last_index)