Created
May 10, 2025 14:55
-
-
Save Mark-Uri/441cdb160ca8806ae0a6318e10655f14 to your computer and use it in GitHub Desktop.
function
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Написать функцию, которая принимает 2 числа и возвращает -1, если первое меньше чем второе, 1 — если первое больше чем второе и 0 — если числа равны. | |
const number = function (a,b) | |
{ | |
if(a<b) return -1; | |
if(a>b) return 1; | |
return 0; | |
} | |
console.log(number(1,2)); | |
console.log(number(2,1)); | |
console.log(number(1,1)); | |
2. Написать функцию, которая вычисляет факториал переданного ей числа. | |
const factorial = function (a) | |
{ | |
if(a<0) return undefined; | |
if(a===0 || a===1) return 1; | |
return a*factorial(a-1); | |
} | |
console.log(factorial(5)); | |
console.log(factorial(0)); | |
console.log(factorial(-1)); | |
3. Написать функцию, которая принимает три отдельные цифры и превращает их в одно число. Например: цифры 1, 4, 9 превратятся в число 149. | |
const number = (a,b,c) => +(a+''+b+c); | |
console.log(number(1,2,3)); | |
4. Написать функцию, которая принимает длину и ширину прямоугольника и вычисляет его площадь. Если в функцию передали 1 параметр, то она вычисляет площадь квадрата. | |
const area = (...args) => | |
{ | |
if(args.length === 1) return args[0]**2; | |
else if(args.length === 2) return (args[0]*args[1]); | |
else return null; | |
} | |
console.log(area(2,3)); | |
console.log(area(2)); | |
console.log(area()); | |
6. Написать функцию, которая принимает минимальное и максимальное значения для диапазона и выводит только те числа из диапазона, которые являются совершенными. Используйте написанную ранее функцию, чтоб узнавать совершенное число или нет. | |
const perfectnum = a => | |
{ | |
if(a<=1)return false; | |
let sum = 0; | |
for(let i = 0; i<a; i++) | |
{ | |
if(a%i===0)sum+=i; | |
} | |
return sum===a; | |
} | |
const getperfectnum = function (min,max) | |
{ | |
const mas = []; | |
for(let i = min; i<=max; i++) | |
{ | |
if(perfectnum(i)) mas.push(i); | |
} | |
return mas; | |
} | |
console.log(getperfectnum(1,100)); | |
7. Написать функцию, которая принимает время (часы, минуты, секунды) и выводит его на экран в формате «чч:мм:сс». Если при вызове функции минуты и/или секунды не были переданы, то выводить их как 00. | |
const time = function (h,m=0,s=0) | |
{ | |
if(h<0 || m<0 || s<0) return undefined; | |
else if(h===0 && m===0 && s===0) return 0; | |
else if(h>12 || m>60 || s>60) return undefined; | |
else | |
{ | |
return ('0'+h).slice(-2)+':'+('0'+m).slice(-2)+':'+('0'+s).slice(-2); | |
} | |
} | |
console.log(time(12,25,32)); | |
console.log(time(1,0)); | |
console.log(time(1)); | |
console.log(time(-1,2,3)); | |
console.log(time(-1,2)); | |
console.log(time(-1)); | |
8. Написать функцию, которая принимает часы, минуты и секунды и возвращает это время в секундах. | |
const time = (h=0,m=0,s=0) => | |
{ | |
return h*3600+m*60+s; | |
} | |
console.log(time(1,2,3)); | |
console.log(time(1,2)); | |
console.log(time(1)); | |
9. Написать функцию, которая принимает количество секунд, перевод их в часы, минуты и секунды и возвращает в виде строки «чч:мм:сс». | |
const time = function (sec) | |
{ | |
const h = Math.floor(sec/3600); | |
const m = Math.floor((sec % 3600)/60); | |
const s= sec % 60; | |
return ('0'+h).slice(-2)+':'+('0'+m).slice(-2)+':'+('0'+s).slice(-2); | |
} | |
console.log(time(123)); | |
console.log(time(732)); | |
console.log(time(3661)); | |
10. Написать функцию, которая считает разницу между датами. Функция принимает 6 параметров, которые описывают 2 даты, и возвращает результат в виде строки «чч:мм:сс». При выполнении задания используйте функции из предыдущих 2 заданий: сначала обе даты переведите в секунды, узнайте разницу в секундах, а потом разницу переведите обратно в «чч:мм:сс». | |
const time = (h=0,m=0,s=0) => | |
{ | |
return h*3600+m*60+s; | |
} | |
const time2 = function (sec) | |
{ | |
const h = Math.floor(sec/3600); | |
const m = Math.floor((sec % 3600)/60); | |
const s= sec % 60; | |
return ('0'+h).slice(-2)+':'+('0'+m).slice(-2)+':'+('0'+s).slice(-2); | |
} | |
const time3 = (h1,m1,s1,h2,m2,s2) => | |
{ | |
const t1 = time(h1,m1,s1); | |
const t2 = time(h2,m2,s2); | |
const diff = Math.abs(t1 - t2); | |
return time2(diff); | |
} | |
console.log(time3(12, 30, 0, 14, 0, 0)); | |
console.log(time3(10, 0, 0, 8, 15, 15)); | |
console.log(time3(0, 0, 0, 0, 0, 59)); | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment