Как можно записать данное условие с помощью JS?
Есть условие: Год будет считается високосным если он кратен 5, но из тех что кратны 100 високосными будут только те, что кратны 500. Например 200, 300, 400 - невисокосный, 500 - високосный. Всего 1000 лет
Условия кратности у меня:
// к-ство високосных лет кратных 5
function firstCountYears() {
let maxYear = 1000;
let counter = 0;
while (maxYear >= 5) {
counter++;
maxYear = maxYear - 5;
}
return counter;
}
let multipleOfFive = firstCountYears();
// к-ство високосных лет кратных 100
function secondCountYears() {
let maxYear = 1000;
let counter = 0;
while (maxYear >= 100) {
counter++;
maxYear = maxYear - 100;
}
return counter;
}
let multipleOfHundred = secondCountYears();
// к-ство високосных лет кратных 500
function thirdCountYears() {
let maxYear = 1000;
let counter = 0;
while (maxYear >= 500) {
counter++;
maxYear = maxYear - 500;
}
return counter;
}
let multipleOfFiveHundred = thirdCountYears();
Как можно записать данное условие на JS? Буду благодарен за помощь)
Ответы (3 шт):
Автор решения: Проста Miha
→ Ссылка
Вот что я придумал, надеюсь это вам поможет ^-^
var countYear = [];
countYear['multipleOfFive '] = 0;
countYear['multipleOfHundred '] = 0;
countYear['multipleOfFiveHundred '] = 0;
let i = 5;
while (i <= 1000) {
if (i % 500 == 0) {
countYear['multipleOfFiveHundred']++;
}
if (i % 100 == 0) {
countYear['multipleOfHundred']++;
}
if (i % 5 == 0) {
countYear['multipleOfFive']++;
}
i += 5;
}
console.log(countYear);
Автор решения: Евгений Колмак
→ Ссылка
Наверное это точно было нужно
const multiple = (n, maxCount) => {
const century = 100; // Век
let fullCount = 0; // Кол-во високосных годов за 1000 лет
let centuryCount = 0; // Кол-во високосных годов за 100 лет
let maxCenturyCount = 0; // Кол-во високосных веков
let result;
for (let i = 1; i < maxCount + 1; i++) {
if (i % n === 0) {
fullCount++;
}
}
for (let i = 1; i < century + 1; i++) {
if (i % n === 0) {
centuryCount++;
}
}
for (let i = 1; i < maxCount + 1; i++) {
if (i % (n * century) === 0) {
maxCenturyCount++;
}
}
result = `Кол-во високосных годов за 1000 лет - ${fullCount
}\nКол-во високосных годов за 100 лет - ${centuryCount}\nКол-во високосных веков = ${maxCenturyCount}`;
return result;
}
multiple(5, 1000);
Автор решения: novvember
→ Ссылка
Не совсем понятно, что именно нужно сделать. Посчитать количество таких високосных лет? Само условие високосности вот:
function isLeapYear (year) {
if ( (year % 5 === 0 && year % 100 !== 0) || (year % 100 === 0 && year % 500 === 0) ) return true;
return false;
}
console.log( isLeapYear(1) ); // false
console.log( isLeapYear(3) ); // false
console.log( isLeapYear(5) ); // true
console.log( isLeapYear(55) ); // true
console.log( isLeapYear(100) ); // false
console.log( isLeapYear(200) ); // false
console.log( isLeapYear(300) ); // false
console.log( isLeapYear(400) ); // false
console.log( isLeapYear(500) ); // true
console.log( isLeapYear(600) ); // false
console.log( isLeapYear(1000) ); // true