この記事を三行にまとめると
毎日頭ハッピーセット幸せならOKです
1982年11月18日はハッピー数じゃない
この記事は以下の動画の中に出てきたサンプルコードを載せたものです。コピペなどが必要なときに使ってください。
HTMLとCSS
<div>
<input type="number" id="number">
<button type="button" id="start">検証開始</button>
</div>
<div id="result"></div>
<style>
* { font-size: 24px; font-family: 'メイリオ' }
body { text-align: center }
input, button { padding: 5px }
</style>
入力された数字がハッピー数か判定する
number = document.getElementById('number');
start = document.getElementById('start');
result = document.getElementById('result');
start.onclick = function() {
result.innerText = '';
num = number.value;
answers = [];
while(true) {
lists = String(num).split('');
sum = lists.reduce(function(prev, current){
return Number(prev) + Number(current ** 2);
}, 0);
if(answers.includes(sum)) {
result.innerText += 'ハッピー数じゃないです';
break;
}
result.innerText += num + 'の各桁の2乗の合計は' + sum + '\n';
if(sum == 1) {
result.innerText += 'ハッピー数です!';
break;
}
answers.push(sum);
num = sum;
}
}