用js 輸出楊輝三角 但是養(yǎng)讓它倒著輸出
用javascript輸出楊輝三角 但是要讓它倒著輸出 ? 該這樣做
這是我的實(shí)路 ? ?求大神看看 哪里錯(cuò)了 謝謝 :
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>倒三角</title>
</head>
<body>
<script type="text/javascript">
var yang = new Array(); ? //定義第一個(gè)數(shù)組
for(var i=0;i<10;i++){ //i代表行,這里是行的循環(huán)
if(i == 0){ //當(dāng)i等于0,也就是數(shù)組的第一個(gè)輸出項(xiàng)
yang.push(1); //給數(shù)組的第一個(gè)輸出項(xiàng)輸出1
}
else if(i == 1){ //當(dāng)i不等于1時(shí) 再次進(jìn)行判斷 ? 判斷:當(dāng)i等于1,也就是數(shù)組的第二個(gè)輸出項(xiàng)
yang = new Array(); //重置數(shù)組 ? ?我也不知道為啥要重置
yang.push(1); //給數(shù)組的第二個(gè)輸出項(xiàng)第一列輸出1
yang.push(1); //給數(shù)組的第二個(gè)輸出項(xiàng)第二列輸出1
}
else{
var yang2=new Array(); //添加一個(gè)數(shù)組
yang2.push(1); //給第二個(gè)數(shù)組第一個(gè)輸出項(xiàng)輸出
for(var j = 0;j<yang.length - 1; j++){ /*循環(huán)j代表列 初始為0 循環(huán)條件是第一個(gè)數(shù)組的輸出長度減一
循環(huán)步長是自增1*/
yang2.push(yang[j] + yang[j+1]);/*為第二個(gè)數(shù)組增加一個(gè)數(shù)*/
}
yang2.push(1); //為第二個(gè)數(shù)組的末端增加一個(gè)數(shù) ?這個(gè)數(shù)是1
yang = new Array(); //將第一個(gè)數(shù)組進(jìn)行初始化
yang = yang2; //將第二個(gè)數(shù)組的值賦值給第一個(gè)數(shù)組
}
console.log(yang.join());//輸出控制臺(tái)
}
<!--倒三角思路:能不能將正三角輸出在控制臺(tái) ? 將倒三角輸出在網(wǎng)頁頁面???-->
var dao=new Array(); ? //定義一個(gè)新的數(shù)組
dao=yang; //將第一個(gè)數(shù)組 賦值給 新的數(shù)組 讓新的這個(gè)數(shù)組的值 ?變成第一個(gè)數(shù)組的最后一行的值?
for(var y=0;y<10;y++){ //dao 數(shù)組的行?
var dao2 = new Array(); //第二個(gè)數(shù)組
for(var h=0;h <= i;h++){ //第二個(gè)數(shù)組的行 ? 也就是第一個(gè)數(shù)組的列
if(h == 0){ //當(dāng)j 即第二個(gè)數(shù)組的序列等于 0 時(shí)
dao.push(1); //push 一個(gè)1
}
else{ //否則 ?
if(dao[h]-dao[h-1] > 0){ //當(dāng)這列的值 減去上一列的值 不為大于0時(shí)
dao.push(dao[h]-dao[h-1]); //就輸出這個(gè)數(shù)
}
else{ //否則
dao.push(dao[h]-dao[h+1]); //就用這列減去下列的值 并輸出這個(gè)數(shù)
}
}
}
document.write(dao.join(" ")+"<hr>");
}
</script>
</body>
</html>