。分數加法和減法

王林
發布: 2024-08-24 06:40:41
原創
234 人瀏覽過

. Fraction Addition and Subtraction

592。分數加法和減法

難度:

主題:數學、字串、模擬

給定一個表示分數加減表達式的字串表達式,以字串格式傳回計算結果。

最終結果應該是一個不可約分數。如果您的最終結果 是整數,請將其變更為分母為 1 的分數格式。所以在這種情況下,2 應該要轉換為 2/1。

範例1:

  • 輸入:表達式 = "-1/2+1/2"
  • 輸出:「0/1」

範例2:

  • 輸入:表達式 = "-1/2+1/2+1/3"
  • 輸出:「1/3」

範例 3:

  • 輸入:表達式 = "1/3-1/2"
  • 輸出:“-1/6”

約束:

  • 輸入字串僅包含「0」至「9」、「/」、「+」和「-」。輸出也是如此。
  • 每個分數(輸入和輸出)的格式為±分子/分母。如果第一個輸入分數或輸出為正,則將省略“+”。
  • 輸入僅包含有效的不可約分數,其中每個分數的分子分母將始終在[1, 10]範圍內。如果分母為 1,則表示該分數實際上是上面定義的分數格式的整數。
  • 給定分數的數量將在 [1, 10] 範圍內。
  • 最終結果的分子和分母保證有效,並且在32位 int範圍內。

解:

我們需要仔細解析輸入字串並對分數進行算術運算。步驟如下:

  1. 解析輸入表達式:從表達式字串中提取各個分數。
  2. 計算結果:逐步加法或減分。
  3. 簡化結果:將最終分數轉換為其不可約形式。

讓我們用 PHP 實作這個解:592。分數加法與減法

<?php
// Example usage
echo fractionAddition("-1/2+1/2"); // Output: "0/1"
echo "\n";
echo fractionAddition("-1/2+1/2+1/3"); // Output: "1/3"
echo "\n";
echo fractionAddition("1/3-1/2"); // Output: "-1/6"
?>
登入後複製

解釋:

  • gcd 函數:計算兩個數字的最大公約數,有助於簡化分數。
  • addFractions 函數:兩個分數相加。它計算公分母,相應地調整分子,將它們相加,然後簡化所得分數。
  • fractionAddition 函數:這是解析輸入表達式的主函數,使用正規表示式提取所有分數,並使用 addFractions 函數迭代地將它們相加。

測試用例:

  • fractionAddition("-1/2+1/2") 傳回 "0/1"。
  • fractionAddition("-1/2+1/2+1/3") 傳回 "1/3"。
  • fractionAddition("1/3-1/2") 傳回 "-1/6"。

此解決方案處理所有必要的操作,並為每個給定表達式傳回正確的輸出。

聯絡連結

如果您發現本系列有幫助,請考慮在 GitHub 上給 存儲庫 一個星號或在您最喜歡的社交網絡上分享該帖子? 。您的支持對我來說意義重大!

如果您想要更多類似的有用內容,請隨時關注我:

  • 領英
  • GitHub

以上是。分數加法和減法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!