Biorąc pod uwagę 2 dane wejściowe, ciąg i liczbę dziesiętną, wyprowadza ciąg pomnożony przez tę liczbę.
Połów polega na tym, że liczba może być liczbą zmiennoprzecinkową lub liczbą całkowitą.
Powinieneś wypisać floor(n)czas łańcucha, a następnie floor((n-floor(n))*len(string))ponownie pierwsze litery.
Inne notatki:
- Dane wejściowe nie zawsze będą zmiennoprzecinkowe, może być liczbą całkowitą. Tak więc wszystkie 1,5, 1 i 1,0 są możliwe. Zawsze będzie jednak w bazie 10, a jeśli chcesz wyjątek, prosimy o komentarz.
- Dane wejściowe ciągu mogą zawierać białe znaki, cudzysłowy i inne znaki. Jednak nie ma nowych linii ani znaków kontrolnych.
- Żadne wbudowane funkcje bezpośredniego powtarzania ciągów, nawet mnożenie ciągów, takie jak python,
'a'*5są niedozwolone. Dozwolone jest jednak dodawanie ciągów .
Przypadki testowe:
Przecinek i spacja oddzielają dane wejściowe.
test case, 1 -> test case
case, 2.5 -> casecaseca
(will add more later), 0.3333 -> (will(space)
cats >= dogs, 0.5 -> cats >
Uwaga końcowa:
Widzę wiele odpowiedzi, które wykorzystują wbudowane funkcje mnożenia lub powtarzania ciągów. To jest nie dozwolone. Odpowiedź @ VTC jest jednak ważna, ponieważ nie zwielokrotnia ciągu, a jedynie dane zmiennoprzecinkowe. Ostateczna zasada brzmi: jeśli bezpośrednio zwielokrotnia ciąg, nie możesz tego zrobić.
join "", ("case") x 2vs "case" x 2, w Perlu 6 [~] "case" xx 2vs to samo"case" x 2
directciąg powtarzający się (co to oznacza?). Ale w sumie masz rację