Задача 1: Обръщане на думи в низ
Задача: Напишете функция, която обръща реда на думите в даден низ.
Примерен вход: "Hello world from Python"
Примерен изход: "Python from world Hello"
Решение:
def reverse_words(sentence):
return ' '.join(sentence.split()[::-1])
# Примерен тест
print(reverse_words("Hello world from Python")) # "Python from world Hello"
JavaScript
unction reverseWords(sentence) {
return sentence.split(' ').reverse().join(' ');
}
// Примерен тест
console.log(reverseWords("Hello world from JavaScript")); // "JavaScript from world Hello"
Функцията използва split, за да раздели думите, след което обръща масива с reverse ()
и го обединява обратно с join(' ')
.
Java
public class Main {
public static String reverseWords(String sentence) {
String[] words = sentence.split(" ");
StringBuilder reversed = new StringBuilder();
for (int i = words.length - 1; i >= 0; i--) {
reversed.append(words[i]);
if (i != 0) {
reversed.append(" ");
}
}
return reversed.toString();
}
// Примерен тест
public static void main(String[] args) {
System.out.println(reverseWords("Hello world from Java")); // "Java from world Hello"
}
}
Тук split разделя думите на масив от низове, а StringBuilder добавя всяка дума в обратен ред.
Задача 2: Фибоначи до определен брой числа
Задача: Напишете функция, която връща списък с първите n числа от последователността на Фибоначи.
Примерен вход: 5
Примерен изход: [0, 1, 1, 2, 3]
Решение:
def fibonacci(n):
fib = [0, 1]
for i in range(2, n):
fib.append(fib[-1] + fib[-2])
return fib[:n]
# Примерен тест
print(fibonacci(5)) # [0, 1, 1, 2, 3]
JavaScript
function fibonacci(n) {
const fib = [0, 1];
for (let i = 2; i < n; i++) {
fib.push(fib[i - 1] + fib[i - 2]);
}
return fib.slice(0, n);
}
// Примерен тест
console.log(fibonacci(5)); // [0, 1, 1, 2, 3]
Функцията fibonacci инициализира първите две числа от последователността и с push добавя нови числа до достигане на n. Резултатът се връща като списък с slice(0, n) за точен размер.
Java
import java.util.ArrayList;
import java.util.List;
public class Main {
public static List<Integer> fibonacci(int n) {
List<Integer> fib = new ArrayList<>();
fib.add(0);
if (n > 1) {
fib.add(1);
}
for (int i = 2; i < n; i++) {
fib.add(fib.get(i - 1) + fib.get(i - 2));
}
return fib.subList(0, n);
}
// Примерен тест
public static void main(String[] args) {
System.out.println(fibonacci(5)); // [0, 1, 1, 2, 3]
}
}
В Java функцията използва ArrayList за съхранение на числата. Първите две числа се добавят, след което цикълът добавя нови числа до достигане на n.