# 好多星星

輸入為一個數字 N,請按照規律輸出正確圖形

// ['*', "**"], n=2
for(i from 1 to n)
    printStar(i)
    
function printStar(n){
    // 印出 n 個星星
    let star = ''
    for(let i=1; i<=n; i++){
        star += '*'
    }
    return star
}

畫出金字塔

// *  n = 1
/*
   * 1
  *** 3
 ****** 6
n = 3
*/

for (i from 1 to n) {
   console.log(printSpace(n - (i - 1)) + printStar(i))
}
function printSpace(n){
   let str = ""
   for(let i=1; i<=(n-i); i++){
      str += '_'
   }
   return str
}
function printStar(n){
   let str = "";
   for(let i=1; i<=(2*n-1); i++){
      str += '*'
   }
   return str
}
for (let i=1; i<=3; i++) {
   console.log(printSpace(3 - (i - 1)) + printStar(i))
}

聖誕樹

// 印出聖誕樹
function draw(n){
  if(n === 1) { console.log('*'); return; }
  
  for(let i=1; i<=n; i++){
    console.log(`${ repeat(n - i, ' ')}${repeat(2*i - 1, '*')}` )
  }
 
  for(let i=1; i<=n-1; i++){
    console.log(`${repeat(n-1, ' ')}|`)
  }
}

// printXmas 1, 3, 5, 7 2*n - 1
// printSpace 0 , 1, 2 , n - 1

function repeat(n, char){
  let str = '';
  for(let i=1; i<=n; i++){
    str += char
  }
  return str
}

draw(4)

// console.log(printXmas(2))

九九乘法表

for(let i=1; i<=9; i++){
    calculate(i)
}

function calculate(num){
    for(let i=1; i<=9; i++){
        console.log(num*i)
    }
}

印出 1-100 的平方數

for(let x=1; x<=100; x++){
    if(平方數), print x
}

function isSquare(n){
   let root = Math.floor( Math.sqrt(n) )
   return root*root === n
}

// 另一種解法
let i = 1
while(i*i <= 100){
   console.log(i*i)
   i++
}

Last updated

Was this helpful?