М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
krmax2002p0bwab
krmax2002p0bwab
17.08.2020 14:48 •  Информатика

На этой неделе на уроках информатики васе рассказывают про строки.

вчера вася узнал, что такое циклический сдвиг:

k-й циклический сдвиг строки – это строка, полученная перестановкой первых k символов строки в её конец. в частности, 0-й циклический сдвиг строки – это сама строка.

и он написал программу, которая умеет перемещать первый символ строки в её конец k раз, получая таким образом k-й циклический сдвиг строки.

сегодня васе нужно реализовать разворот строки. но у васи тренировка. ему некогда писать новые сложные программы. поэтому он задался вопросом:

можно ли циклическими сдвигами развернуть строку?

своим друзьям вася узнал, на какой строке (да, всего одной) будет тестировать его программу учитель, у которого нет времени рецензировать код каждого ученика. поэтому вопрос :

можно ли циклическими сдвигами развернуть строку s?

ему ответить на этот вопрос.

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

первая строка содержит одно целое число n (1≤n≤3⋅105) – длина строки s.

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

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

если строку нельзя развернуть циклическими сдвигами, то выведите число −1. в противном случае выведите такое целое число k (0≤k
пояснение к примеру

0-й циклический сдвиг строки s равен abac.

1-й циклический сдвиг строки s равен baca.

2-й циклический сдвиг строки s равен acab.

3-й циклический сдвиг строки s равен caba.

развёрнутая строка s равна caba.

единственное подходящее k равно трём.

sample input:

4
abac
sample output:

3
напишите программу. тестируется через stdin → stdout
time limit: 3 секунды
memory limit: 256 mb

👇
Открыть все ответы
Ответ:
Первая задача:
var
  i, c, sum: shortint;
  sr: real;
  m: array[1..20] of shortint;

begin
  sum := 0;
  readln(c);
  for i := 1 to c do
  begin
    readln(m[i]);
    sum := sum + m[i];
  end;
  sr := sum / c;
  sr := round(sr * 100) / 100;  //если округлять не нужно, удали эту строчку
  writeln('Среднее арифметическое: ', sr);
end.

Вторая задача:
var
  i, c: shortint;
  p: integer;
  m: array[1..20] of shortint;

begin
  p := 1;
  readln(c);
  for i := 1 to c do readln(m[i]);
  for i := 1 to c do p := abs(p * (m[i]));
  writeln('Произведение всех модулей массива: ', p)
end.
4,5(80 оценок)
Ответ:
В алгебре логики применяются только три операции: конъюнкция (или логическое умножение, обозначается обычно ∧), дизъюнкция (или логическое сложение, обозначается обычно ∨) и инверсия (отрицание, обозначается чаще ¬). Так же, в алгебре логики, в отличие от математики, может быть получено только  два результата выражения, каким бы оно не было - это 1 (истина, true) или 0 (ложь, false). Так же, именно с этими символами проводят операции.
Алгебраических операций куда больше: умножение, деление, сложение, вычитание, возведение в степень, корень N-ой степени, синусы, косинусы... Я, конечно, не всё перечислил, но разница ощутима. И числа, над которыми проводятся операции, тоже разнообразны, т.к. операции в математике проводятся над числами из десятичной системы счисления. Следовательно, результат операций в математике может получиться любой (в пределах десятичной системы счисления).
4,6(53 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
Полный доступ к MOGZ
Живи умнее Безлимитный доступ к MOGZ Оформи подписку
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ