JS中使用递归输出水仙花数
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>递归输出水仙花数</title>
<script type="text/javascript">
function daffodil(n,m){
if(n==m){//当递归到n的值和传进来的m的值相等时,便结束递归
return;
}
var a=n%10;//取出三位数的个位数
var b=parseInt(n/10)%10;//取出三位数的十位数
var c=parseInt(n/100);//取出三位数的百位数
//如果这个三位数的每位数的3次方相加的和等于它本身,那这个数就是水仙花数,便输出
if(Math.pow(a,3)+Math.pow(b,3)+Math.pow(c,3)==n){
document.write(n+"<br>");
}
daffodil(n+1,m);//递归使n的值不断加1
}
daffodil(100,999)
</script>
</head>
<body>
</body>
</html>