プログラミング 未分類

閏年かどうかを判別するプログラム【JavaScript】

プログラミングスキルチェックで出てきた問題を解いてみたので備忘録として載せておきます。

課題

入力された整数がグレゴリオ暦でうるう年であるか判定するプログラムを書いてください。

閏年の条件

  1. 西暦が4で割り切れる年は閏年。
  2. ただし、100で割り切れる年は閏年ではない。
  3. ただし、400で割り切れる年は閏年。

1、関数作成

値を入力したときに閏年であればtrue、それ以外であればfalseを返す関数を作成してきます。

条件を元に作成していきます。条件としては

  • 4で割り切れる数字だが、100で割り切れる数字は当てはまらない。
  • 400で割り切れる数字は無条件に閏年

閏卯年を判別する関数

function isLeapYear(year){
if( (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0) {
return true;
}
return false;
}

2、判別したい暦を格納する配列、変数の作成

変数を作成してそこに判別したい暦を入力します。

判別したい暦を格納する配列作成

let checkYear = [4,1000,1992,2000,2001];

3、配列を一つずつ取り出し、出力

配列を繰り返し分で取り出し、判別していきます。判別は1で作成した関数に投げるだけです。

関数の結果がtrueであれば閏年、falseであれば、閏年でない出力を行います。

判別したい暦を格納する配列作成

for(let i = 0; i < checkYear.length-1 ; i++){
let number = checkYear[i];

if(isLeapYear(number)){
console.log(number + '年はうるう年です');
}else{
console.log(number + '年はうるう年ではありません');
}
}

4、出力結果

出力は以下のようになります。

出力結果

4年はうるう年です
1000年はうるう年ではありません
1992年はうるう年です
2000年はうるう年です

 

プログラム全体は以下のようになります。

コード全体

function isLeapYear(year){
if( (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0) {
return true;
}
return false;
}

let checkYear = [4,1000,1992,2000,2001];

for(let i = 0; i < checkYear.length-1 ; i++){
let number = checkYear[i];

if(isLeapYear(number)){
console.log(number + '年はうるう年です');
}else{
console.log(number + '年はうるう年ではありません');
}
}

 

以上です。

  • この記事を書いた人
  • 最新記事

ミッチー

小中高と野球漬けの毎日 ▶︎ 大学時に自分が何もできないことに気づき、プログラミング学習開始 ▶︎ PCは疎かったがめげずに継続 ▶︎ 受託で案件を頂きながら、オーダースーツ事業に、通販事業にも参戦 ▶︎ 東証一部Web系自社開発企業にエンジニアとして内定。

-プログラミング, 未分類

© 2022 オミチャンネル Powered by AFFINGER5