Javascript - Tìm và hiển thị 5 số hạnh phúc đầu tiên
Tìm và hiển thị 5 số hạnh phúc đầu tiên
Theo Wikipedia, một số hạnh phúc được xác định bằng quy trình sau: "Bắt đầu với bất kỳ số nguyên dương nào, thay thế số đó bằng tổng bình phương các chữ số của nó và lặp lại quá trình cho đến khi số đó bằng 1 (vị trí của nó), hoặc nó lặp lại không ngừng trong một chu kỳ không bao gồm 1. Những con số mà quá trình này kết thúc bằng 1 là những con số hạnh phúc, trong khi những con số không kết thúc bằng 1 là những con số không hạnh phúc (hoặc những con số buồn) ". Viết chương trình JavaScript để tìm và in 5 số hạnh phúc đầu tiên.
Ví dụ:
Mã nguồn:
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>Happy Number</title>
<script>
function happy_number(num)
{
var m, n ;
var c = [] ;
while(num != 1 && c[num] !== true)
{
c[num] = true ;
m = 0 ;
while (num > 0) {
n = num % 10 ;
m += n * n ;
num = (num - n) / 10 ;
}
num = m ;
}
return (num == 1) ;
}
var cnt = 5;
var num = 1;
var f5 = '';
while(cnt-- > 0)
{
while(!happy_number(num))
num++ ;
f5 = f5+(num + ", ") ;
num++ ;
}
document.write('First 5 happy numbers are : '+f5);
</script>
</head>
<body>
</body>
</html>
Lưu đồ thuật toán: