拼湊起來

拼湊起來

中等

簡介

你最好的朋友開始收集拼圖,想要為自己的收藏建立一份詳細的目錄,記錄總片數、列數與行數、邊框拼圖與內部拼圖的數量、長寬比,以及拼圖的格式等資訊。 就算你們兩人聯手,光是拼完一幅 1000 片的拼圖就要花上好幾個小時,而且之後還得手動數出列數和行數,並算出剩下的數字。 那些片數多達數千片、規模更大的拼圖,現在看起來真是令人卻步。 「一定有更好的方法!」你這麼喊道,然後坐到電腦前,開始解決這個問題。

說明

給定拼圖的部分資訊,補上缺少的拼塊。

如果資訊不足以補齊所有細節,或是提供的部分彼此矛盾,就應該通知使用者。

拼圖的完整資訊包含以下部分:

  • pieces:拼塊總數
  • border:邊框拼塊的數量
  • inside:內部(非邊框)拼塊的數量
  • rows:列數
  • columns:欄數
  • aspectRatio:欄與列的長寬比
  • format:拼圖格式,可以是 portrait、square 或 landscape

在這個練習中,你可以假設每個拼塊都是正方形,因此格式可以由長寬比推導出來:

  • 如果長寬比小於 1,就是 portrait
  • 如果等於 1,就是 square
  • 如果大於 1,就是 landscape

三個範例

直向

一個直向拼圖,共有 6 個拼塊,全都是邊框拼塊,沒有內部拼塊。 它有 2 欄、3 列。 長寬比是 0.666666...(2/3)。

一個 2 乘 3 的拼圖

正方形

一個正方形拼圖,共有 9 個拼塊,除了正中央那一個是內部拼塊之外,其餘全都是邊框拼塊。 它有 3 欄、3 列。 長寬比是 1.0(3/3)。

一個 3 乘 3 的拼圖

橫向

一個橫向拼圖,共有 12 個拼塊,其中 10 個是邊框拼塊,2 個是內部拼塊。 它有 4 欄、3 列。 長寬比是 1.333333...(4/3)。

一個 4 乘 3 的拼圖

透過 GitHub 編輯 連結會在新視窗或分頁中開啟
PowerShell Exercism

準備好開始 拼湊起來 了嗎?

註冊 Exercism,透過 136 個練習 和真人引導來學習並精通 PowerShell,全部免費。