diff --git a/js-core/homeworks/homework-21/index.html b/js-core/homeworks/homework-21/index.html
new file mode 100644
index 0000000..6e418d2
--- /dev/null
+++ b/js-core/homeworks/homework-21/index.html
@@ -0,0 +1,11 @@
+
+
+
+
+ Home work 1
+
+
+
+
+
+
\ No newline at end of file
diff --git a/js-core/homeworks/homework-21/src/main.js b/js-core/homeworks/homework-21/src/main.js
new file mode 100644
index 0000000..f88c304
--- /dev/null
+++ b/js-core/homeworks/homework-21/src/main.js
@@ -0,0 +1,47 @@
+/* TASK 0
+ Сделайте валидацию кредитной карты, валидация происходит
+ используя алгоритм Луна.
+ Простое описание:
+ 1. Начиная с последнего правого числа, двигаясь влево,
+ умножайте каждое второе число на 2,
+ если результат умножения больше 9
+ (например 8 х 2 = 16),
+ тогда сумируйте получившиеся число
+ (например 16: 1+6 = 7, 18: 1+8 = 9).
+ 2. Получите сумму всех чисел.
+ 3. Если сумма всех чисел кратно 10, тогда число является подходящим,
+ иначе нет.
+P.S. -> проверьте на свой карте.
+arguments ["4408041234567893"] => expected true
+arguments ["1234567890123456"] => expected false
+arguments ["4408042234567893"] => expected false
+arguments ["38520000023237"] => expected true
+arguments ["4222222222222"] => expected true
+*/
+var arguments = str => {
+ var arr = str.split('');
+ let arr1 = arr.map((value, i) => {
+ if (i % 2 == 0) {
+ let temp = value * 2;
+ if (temp > 9) {
+ temp = '' + temp;
+ temp = +temp.charAt(0) + +temp.charAt(1);
+ return temp;
+ } else {
+ return temp;
+ }
+ } else {
+ return +value;
+ }
+ });
+ var result = arr1.reduce(function(sum, current) {
+ return sum + current;
+ }, 0);
+ let t = ('' + result).charAt(1) == 0 ? 'expected true' : 'expected false';
+ console.log(t)
+}
+arguments("4408041234567893");
+arguments("1234567890123456");
+arguments("4408042234567893");
+arguments("38520000023237");
+arguments("4222222222222");
\ No newline at end of file