Меню

Вывести строку длина которой больше числа

Вывести строку длина которой больше числа

Регистрация на форуме тут, о проблемах пишите сюда — alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль

Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Задачи на строки и числа. Решение. Покритикуйте
Регистрация

1. Ввести n строк с консоли, найти самую короткую и самую длинную строки. Вывести найденные строки и их длину.
2. Ввести n строк с консоли. Упорядочить и вывести строки в порядке возрастания (убывания) значений их длины.
3. Ввести n строк с консоли. Вывести на консоль те строки, длина которых меньше (больше) средней, а также длину.
4. Ввести n слов с консоли. Найти слово, в котором число различных символов минимально. Если таких слов несколько, найти первое из них.
5. Ввести n слов с консоли. Найти количество слов, содержащих только символы латинского алфавита, а среди них – количество слов с равным числом гласных и согласных букв.
6. Ввести n слов с консоли. Найти слово, символы в котором идут в стро-гом порядке возрастания их кодов. Если таких слов несколько, найти первое из них.
7. Ввести n слов с консоли. Найти слово, состоящее только из различных символов. Если таких слов несколько, найти первое из них.
8. Ввести n слов с консоли. Среди слов, состоящих только из цифр, найти слово-палиндром. Если таких слов больше одного, найти второе из них.
9. Написать программы решения задач 1–8, осуществляя ввод строк как аргументов командной строки.
10. Используя оператор switch, написать программу, которая выводит на экран сообщения о принадлежности некоторого значения k интервалам (-10k, 0], (0, 5], (5, 10], (10, 10k].
11. Используя оператор switch, написать программу, которая выводит на экран сообщения о принадлежности некоторого значения k интервалам (-10k, 5], [0, 10], [5, 15], [10, 10k].
12. Написать программу, которая выводит числа от 1 до 25 в виде матрицы 5×5 слева направо и сверху вниз.
13. Написать программу, позволяющую корректно находить корни квад-ратного уравнения. Параметры уравнения должны задаваться с ко-мандной строки.
14. Ввести число от 1 до 12. Вывести на консоль название месяца, соответ-ствующего данному числу. (Осуществить проверку корректности ввода чисел).

Привет, решение данных заданий на Java — см. ссылку ниже. Покритикуйте.

Источник

Pascal: Проверь себя (строки в Паскале)

Работа со строками в Паскале: формирование строк

Pascal string 1: Дан символ C . Вывести два символа, первый из которых предшествует символу C в кодовой таблице, а второй следует за символом C .
Для решения понадобятся функции для работы с символьным типом данных.

Примерный результат:

var C:char; begin Write(‘C:’); readln (C); Writeln(‘C1:’,chr(ord(C)-1)); Writeln(‘C2:’,chr(ord(C)+1)); end.

Pascal string 2: Дан символ C , изображающий цифру или букву (латинскую или русскую). Если C изображает цифру, то вывести строку «digit», если латинскую букву — вывести строку «lat».

Примерный результат:

var C:char; begin Write(‘Введите букву или цифру:’); readln (C); case ord(C) of 48..57: Writeln(‘digit’); 65..90,97..122: Writeln(‘lat’); end; end.

Pascal string 3: Дано четное число N>0 и символы C1 и C2 . Вывести строку длины N , которая состоит из чередующихся символов C1 и C2 , начиная с C1

Примерный результат:

var N,i:integer; C1,C2:char; S:string; begin Write(‘N:’); Readln (N); Write(‘C1:’); Readln (C1); Write(‘C2:’); Readln (C2); S:=»; for i:=1 to (N div 2) do S:=S+C1+C2; Writeln(S); end.

Pascal string 4: Дана непустая строка S и целое число N>0 . Вывести строку, содержащую символы строки S , между которыми вставлено по N символов «*» (звездочка)

Примерный результат:

var N,i,i2:integer; S,S2:string; begin Write(‘S:’); Readln (S); Write(‘N:’); Readln (N); S2:=S[1]; for i:=2 to Length(S) do begin for i2:=1 to N do S2:=S2+’*’; S2:=S2+S[i]; end; Writeln(S2); end.

Строки в Паскале: посимвольный анализ и преобразование строк

Pascal string 5: Дано целое положительное число. Вывести символы, изображающие цифры этого числа (в порядке справа налево).
Для решения понадобятся функции для работы со строками

Примерный результат:

var N,i:integer; S:string; begin Write(‘N:’); Readln (N); Str(N,S); for i:=Length(S) downto 1 do Write(s[i]); end.

Для решения возможно понадобятся функции для работы с символами

Примерный результат:

var i,Rez,Operation:integer; S:string; begin Write(‘S:’); Readln (S); Rez:=ord(S[1])-48; <в таблице Ascii цифры начинаются с 48 (0), т.е. если символ '0', то 48-48=0>for i:=2 to Length(S) do begin if (ord(S[i]) in [48..57]) then Rez:=Rez+operation*(ord(S[i])-48); if (ord(S[i]) = 43) then Operation:=1; //+ if (ord(S[i]) = 45) then Operation:=-1; //- end; Writeln(Rez); end.

Строки в Паскале: обработка строк с помощью стандартных функций

Pascal string 7: Дано целое число N>0 и строка S . Преобразовать строку S в строку длины N следующим образом: если длина строки S больше N , то отбросить первые символы, если длина строки S меньше N , то в ее начало добавить символы «.» (точка).
Для решения понадобятся функции для работы со строками

Примерный результат:

var N,i:integer; S:string; begin Write(‘N:’); Readln(N); Write(‘S:’); Readln(S); if length(S)>N then delete(S,1,length(S)-N); if length(S) —>

Примерный результат:

var S:string; C:Char; i:integer; begin Write(‘C:’); Readln(C); Write(‘S:’); Readln(S); i:=1; While(i —>

Примерный результат:

program String31; var S,s0:string; C:Char; i:integer; begin Write(‘S:’); Readln(S); Write(‘S0:’); Readln(S0); writeln(pos(S0,S)>0); end.

Строки в Паскале: анализ и преобразование слов в строке

Pascal string 10: Дана строка, состоящая из английских слов, набранных заглавными буквами и разделенных пробелами (одним или несколькими). Найти количество слов, которые содержат хотя бы одну букву «A».

Примерный результат:

var S:String; i,Num,NumA:integer; begin Write(‘S: ‘); Readln(S); i:=1; Num:=0; NumA:=0; While (i 0 then inc(num); NumA:=0; end; if S[i]=chr(6) then inc(NumA); //Если кодировка в консоли и в IDE совпадают, условие можно заменить на S[i]=’А’ inc(i); end; Writeln(Num); end.

Источник

Занятия по ПИТОНу. Занятие 5. Строки

Я несколько лет знакомился с материалами Foxford.

Эта же теория с видео. И тогда всё станет понятно.


После if и for не забудьте отрегулировать отступы пробелами или Tab
1.Задача «Делаем срезы»
Условие

Дана строка.
Сначала выведите третий символ этой строки.
Во второй строке выведите предпоследний символ этой строки.
В третьей строке выведите первые пять символов этой строки.
В четвертой строке выведите всю строку, кроме последних двух символов.
В пятой строке выведите все символы с четными индексами (считая, что индексация начинается с 0, поэтому символы выводятся начиная с первого).
В шестой строке выведите все символы с нечетными индексами, то есть начиная со второго символа строки.
В седьмой строке выведите все символы в обратном порядке.
В восьмой строке выведите все символы строки через один в обратном порядке, начиная с последнего.
В девятой строке выведите длину данной строки.
Входные данные: Abrakadabra

s = input() # И далее оператор и значение ниже
print(s[2])
r
print(s[-2])
r
print(s[:5])
Abrak
print(s[:-2])
Abrakadab
print(s[::2])
Arkdba
print(s[1::2])
baaar
print(s[::-1])
arbadakarbA
print(s[::-2])
abdkrA
print(len(s))
11
2.Задача «Количество слов»
Условие
Дана строка, состоящая из слов, разделенных пробелами. Определите, сколько в ней слов. Используйте для решения задачи метод count.
a=input()
s=1
for i in range(0, len(a)):
if a[i]==” “:
s+=1
print(s)

Если входные данные Hello world – ответ 2

  1. Задача «Две половинки»
    Условие

    Дана строка. Разрежьте ее на две равные части (если длина строки — четная, а если длина строки нечетная, то длина первой части должна быть на один символ больше). Переставьте эти две части местами, результат запишите в новую строку и выведите на экран.
    При решении этой задачи не стоит пользоваться инструкцией if.
    Решение.

import math
a=input()
s=len(a)
l=math.ceil(s/2)
print(a[l::]+a[0:l])
Решение разработчиков
s = input()
print(s[(len(s) + 1) // 2:] + s[:(len(s) + 1) // 2])
Если входные данные – Hello, то результат будет – loHel
Для Qwerty результат – rtyQwe

Ещё решение участника
from math import *
S = input()
l = len(S)
num = int(l)
num1 = int(ceil(num / 2))
num2 = int(floor(num – num1))
str = S[: num1]
str2 = S[num1:]
print(str2 + str)

  1. Задача «Переставить два слова»
    Условие

    Дана строка, состоящая ровно из двух слов, разделенных пробелом. Переставьте эти слова местами. Результат запишите в строку и выведите получившуюся строку.
    При решении этой задачи не стоит пользоваться циклами и инструкцией if.
    Во всех задачах считывайте входные данные через input() и выводите ответ через print().
    Входные данные: Hello, world!
    Выходные данные: world! Hello,

s = input()
first_word = s[:s.find(‘ ‘)]
second_word = s[s.find(‘ ‘) + 1:]
print(second_word + ‘ ‘ + first_word)

Примеры решений участниками:
s=input()
i=s.find(” “)
print(s[i+1::]+” “+s[0:i+1])
n = input()
a = n.find(‘ ‘)
x = n[0:a]
y = n[a:]
print(y + ‘ ‘ + x)
a,b=input().split()
print(b,a)

  1. Задача «Первое и последнее вхождения»
    Условие

    Дана строка. Если в этой строке буква f встречается только один раз, выведите её индекс. Если она встречается два и более раз, выведите индекс её первого и последнего появления. Если буква f в данной строке не встречается, ничего не выводите.
    При решении этой задачи не стоит использовать циклы.
    Во всех задачах считывайте входные данные через input() и выводите ответ через print().
    Входные данные:
    comfort –Ответ 3
    office –Ответ 1 2
    fffffffffffffff – Ответ 0 14
    afafafafafafafa – Ответ 1 13

Решение разработчиков
s = input()
if s.count(‘f’) == 1:
print(s.find(‘f’))
elif s.count(‘f’) >= 2:
print(s.find(‘f’), s.rfind(‘f’))

Примеры решений участниками:
s=input()
i=s.find(“f”)
j=len(s)-1-s[::-1].find(“f”)
if i==j:
print(i)
elif j>i and i!=-1:
print(i,j)
s = input()
s1 = s.find(‘f’)
s2 = s.rfind(‘f’)
if s1 == s2 and s1 != -1:
print(s1)
elif s1 != s2:
print(s1, s2)

6. Задача «Второе вхождение»
Условие

Дана строка. Найдите в этой строке второе вхождение буквы f,
и выведите индекс этого вхождения.
Если буква f в данной строке встречается только один раз, выведите число -1,
а если не встречается ни разу, выведите число -2.

Входные данные и Выходные данные komfort -1 qwerty -2 ff 1 foooooooooooooof 15 ofofofofofofofofo 3

  1. Задача «Удаление фрагмента»
    Условие

    Дана строка, в которой буква h встречается минимум два раза. Удалите из этой строки первое и последнее вхождение буквы h, а также все символы, находящиеся между ними.
    Во всех задачах считывайте входные данные через input() и выводите ответ через print().

Входные данные:
In the hole in the ground there lived a hobbit
Выходные данные: In tobbit

Решение разработчиков
s = input()
s = s[:s.find(‘h’)] + s[s.rfind(‘h’) + 1:]
print(s)

Решение участника:
s = input()
print(s.replace(s[s.find(‘h’):s.rfind(‘h’)+1],”))

  1. Задача «Обращение фрагмента»
    Условие

    Дана строка, в которой буква h встречается как минимум два раза. Разверните последовательность символов, заключенную между первым и последним появлением буквы h, в противоположном порядке.

s = input()
a = s[:s.find(‘h’)]
b = s[s.find(‘h’):s.rfind(‘h’) + 1]
c = s[s.rfind(‘h’) + 1:]
s = a + b[::-1] + c
print(s)

Входные данные: In the hole in the ground there lived a hobbit
Выходные данные: In th a devil ereht dnuorg eht ni eloh ehobbit

9. Задача «Замена подстроки»
Условие

Дана строка. Замените в этой строке все цифры 1 на слово one.
Во всех задачах считывайте входные данные через input() выводите ответ через print().
Входные данные: 1+1=2 Выходные данные: one+one=2
1213141516171819101 one2one3one4one5one6one7one8one9one0one

Решение разработчиков
print(input().replace(‘1’, ‘one’))

Источник

Вывести строку длина которой больше числа

A. Кузнечик собирает монеты

Имя входного файла: input.txt

Имя выходного файла: output.txt

Ограничение по времени: 2 секунды

Ограничение по памяти: 256 мегабайт

Кузнечик прыгает по столбикам, расположенным на одной линии на равных расстояниях друг от друга. Столбики имеют порядковые номера от 1 до N. В начале Кузнечик сидит на столбике с номером 1. Он может прыгнуть вперед на расстояние от 1 до K столбиков, считая от текущего. На каждом столбике Кузнечик может получить или потерять несколько золотых монет (для каждого столбика это число известно). Определите, как нужно прыгать Кузнечику, чтобы собрать наибольшее количество золотых монет. Учитывайте, что Кузнечик не может прыгать назад.

Формат входных данных

В первой строке вводятся два натуральных числа: N и K ( 2 ⩽ N, K ⩽ 10000 ), разделённые пробелом. Во второй строке записаны через пробел N-2 целых числа — количество монет, которое Кузнечик получает на каждом столбике, от 2-го до N-1-го. Если это число отрицательное, Кузнечик теряет монеты. Гарантируется, что все числа по модулю не превосходят 10 000.

Формат выходных данных

В первой строке программа должна вывести наибольшее количество монет, которое может со брать Кузнечик. Во второй строке выводится число прыжков Кузнечика, а в третьей строке — номера всех столбиков, которые посетил Кузнечик (через пробел в порядке возрастания). Если правильных ответов несколько, выведите любой из них.

input.txt

output.txt

B. Наибольшая возрастающая подпоследовательность

Имя входного файла: стандартный ввод

Имя выходного файла: стандартный вывод

Ограничение по времени: 2 секунды

Ограничение по памяти: 256 мегабайт

Пусть a1, a2, . an — числовая последовательность. Длина последовательности — это количество элементов этой последовательности. Последовательность ai1, ai2, . aik называется подпоследова тельностью последовательности a, если 1 ⩽ i1

Подзадача 1 (60 баллов) n ⩽ 300

Подзадача 2 (40 баллов) n ⩽ 2 000

Формат входных данных

В первой строке задано одно число n ( 1 ⩽ n ⩽ 2000 ) — длина подпоследовательности. В следу ющей строке задано n целых чисел ai ( 10^9 ⩽ ai ⩽ 10^9 ) — элементы последовательности.

Формат выходных данных

В первой строке выведите число k — длину наибольшей возрастающей подпоследовательности. В следующей строке выведите k чисел — саму подпоследовательность.

стандартный ввод

стандартный вывод

стандартный ввод

стандартный вывод

Имя входного файла: стандартный ввод

Имя выходного файла: стандартный вывод

Ограничение по времени: 1 секунда

Ограничение по памяти: 256 мегабайт

Шахматная ассоциация решила оснастить всех своих сотрудников такими телефонными номера- ми, которые бы набирались на кнопочном телефоне ходом коня. Например, ходом коня набирается телефон 340-49-27. При этом телефонный номер не может начинаться ни с цифры 0, ни с цифры 8.

Напишите программу, определяющую количество телефонных номеров длины N, набираемых ходом коня. Поскольку таких номеров может быть очень много, выведите ответ по модулю 10^9.

Формат входных данных

Во входном файле записано целое число N ( 1 ⩽ N ⩽ 100 ).

Формат выходных данных

Выведите в выходной файл искомое количество телефонных номеров по модулю 10^9.

стандартный ввод

стандартный вывод

стандартный ввод

стандартный вывод

D. Расстояние по Левенштейну

Имя входного файла: input.txt

Имя выходного файла: output.txt

Ограничение по времени: 2 секунды

Ограничение по памяти: 256 мегабайт

Дана текстовая строка. С ней можно выполнять следующие операции:

  1. Заменить один символ строки на другой символ.
  2. Удалить один произвольный символ.
  3. Вставить произвольный символ в произвольное место строки.

Например, при помощи первой операции из строки «СОК»можно получить строку «СУК при помощи второй операции — строку «ОК при помощи третьей операции — строку «СТОК. Минимальное количество таких операций, при помощи которых можно из одной строки получить другую, называется стоимостью редактирования или расстоянием Левенштейна. Определите расстояние Левенштейна для двух данных строк.

Формат входных данных

Программа получает на вход две строки, длина каждой из которых не превосходит 1000 симво лов, строки состоят только из заглавных латинских букв.

Формат выходных данных

Требуется вывести одно число — расстояние Левенштейна для данных строк.

input.txt

output.txt

Имя входного файла: стандартный ввод

Имя выходного файла: стандартный вывод

Ограничение по времени: 2 секунды

Ограничение по памяти: 64 мегабайта

Около Петиного университета недавно открылось новое кафе, в котором действует следующая система скидок: при каждой покупке более чем на 100 рублей покупатель получает купон, дающий право на один бесплатный обед (при покупке на сумму 100 рублей и меньше такой купон покупатель не получает). Однажды Пете на глаза попался прейскурант на ближайшие n дней. Внимательно его изучив, он решил, что будет обедать в этом кафе всеnдней, причем каждый день он будет покупать в кафе ровно один обед. Однако стипендия у Пети небольшая, и поэтому он хочет по максимуму ис пользовать предоставляемую систему скидок так, чтобы его суммарные затраты были минимальны. Требуется найти минимально возможную суммарную стоимость обедов и номера дней, в которые Пете следует воспользоваться купонами.

Формат входных данных

В первой строке входного файла записано целое числоn( 0 ⩽ n ⩽ 100 ). В каждой из последующих nстрок записано одно целое число, обозначающее стоимость обеда в рублях на соответствующий день. Стоимость — неотрицательное целое число, не превосходящее 300.

Формат выходных данных

В первой строке выдайте минимальную возможную суммарную стоимость обедов. Во второй строке выдайте два числа k1 и k2 — количество купонов, которые останутся неиспользованными у Пети после этих n дней и количество использованных им купонов соответственно. В последующих k2 строках выдайте в возрастающем порядке номера дней, когда Пете следует воспользоваться купонами. Если существует несколько решений с минимальной суммарной стоимо стью, то выдайте то из них, в котором значение k1 максимально (на случай, если Петя когда-нибудь ещё решит заглянуть в это кафе). Если таких решений несколько, выведите любое из них.

Источник

Читайте также:  Чем отмыть окна машины

Чистим, моем, убираем © 2021
Внимание! Информация, опубликованная на сайте, носит исключительно ознакомительный характер и не является рекомендацией к применению.