0 / 0 / 0
Регистрация: 23.08.2019
Сообщений: 17
|
|
1 | |
Строка: Вывести k-ю степень строки s, если она существует и слово undefined в противном случае.02.09.2019, 23:04. Показов 1346. Ответов 5
Метки c++ 20, c++ algebra, c++ bluetooth, c++ boost, c++ builder, c++ builder 6, c++ builder xe2, c++ cmake qt, c++ dll в c#, c++ lessons, c++ linux, c++ (Все метки)
Пусть имеем строку s и целое число k. Если k - неотрицательно, то k-ой степенью строки s называется строка, которая прествавлаяет из себя k-кратное повторение строки s. Если же k - отрицательное, то k-ой степенью строки называется строка x такая, что -k-ая степень х равна s. Отрицательная степень не всегда определена. Заданы строка s и число k. Вывести k-ю степень s, если она существует и слово undefined в противном случае. Примеры:
(<iostream><vector><string) Input ab 1 abc 0 abcd 3 xyzxyz -2 xyzxyz -3 xyzxyz -1 Output ab abcdabcdabcd xyz undefined xyzxyz
0
|
|
02.09.2019, 23:04 | |
Ответы с готовыми решениями:
5
Вывести k-ю степень s, если она существует и слово undefined в противном случае. Выдать 1, если строка t расположена в конце строки s, и нуль в противном случае Дана строка. Если скобки расставлены правильно, то вывести число 1. В противном случае вывести всю строку
|
Модератор
|
||||||
03.09.2019, 13:31 | 3 | |||||
Стало интересно попробовать. Написал следующий код, но честно признаться не могу сообразить как выполнить проверку строки на корректность в случае отрицательной степени..
![]() А голова уже под конец дня не варит совсем.
0
|
Диссидент
![]() 27489 / 17176 / 3784
Регистрация: 24.12.2010
Сообщений: 38,692
|
|
03.09.2019, 22:22 | 4 |
long399, в самом деле все просто. Если кратность соблюдена, то пусть m = L/k (L - длина строки)
Дальше составляете строку из k повторений первых m символов, и сравниваете с исходной. Можно слегка поэффективнее, но основная идея - вот.
1
|
Модератор
|
||||||
04.09.2019, 06:30 | 5 | |||||
Байт, спасибо Вам за наводку.
На защиту от дурака и прочие ньюансы не проверял особо, думаю автор темы это сам сумеет сделать. Вот, что получилось:
0
|
Диссидент
![]() 27489 / 17176 / 3784
Регистрация: 24.12.2010
Сообщений: 38,692
|
||||||
04.09.2019, 09:38 | 6 | |||||
long399, Код ваш, возможно, и рабочий, но столь объемен, что проверить я его я его не смог
0
|
04.09.2019, 09:38 | |
Помогаю со студенческими работами здесь
6
дан массив a(20) найти сумму элементов массива , если она превосходит число 50 , в противном случае выдать исх
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |