Task 20. Степень строки

Task 20. Степень строки

UniLecs

Задача: дана строка STR, степенью K строки STR будет строка вида: STR1+STR2+... +STRk (плюс означает конкатенацию).

Корнем k степени из строки STR называется такая строка T (если это возможно), что T степени K  = STR.

Написать функцию, ктр выводит строку STR в степени K.

Например:

  1. STR ="abc", K = 3;

STR степени K = "abcabcabc"

2. STR ="abcabc", K = -2;

STR степени K = "abc"

3. STR ="abcabc", K = -3;

STR степени K = "some error message"

Идея: для случая K >= 0 все довольно тривиально, мы просто выводим заданную строку K раз. Для случая K<0, нам нужно понять размер "корня" из строки, это мы делаем делением размера заданной строки на степень. После мы проверяем все ли подстроки одинаковы.

Реализация:

реализация на JS

https://gist.github.com/unilecs/bec06747e400e4d26b20fbc3efe7e23d


Report Page