. 분수 덧셈과 뺄셈

王林
풀어 주다: 2024-08-24 06:40:41
원래의
235명이 탐색했습니다.

. 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비트 정수
  • 범위 내에서 유효함을 보장합니다.

해결책:

입력 문자열을 주의 깊게 분석하고 분수에 대한 산술 연산을 수행해야 합니다. 단계는 다음과 같습니다.

  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에서 저장소에 별표를 표시하거나 즐겨찾는 소셜 네트워크에서 게시물을 공유해 보세요. 여러분의 지원은 저에게 큰 의미가 될 것입니다!

이렇게 더 유용한 콘텐츠를 원하시면 저를 팔로우해주세요.

  • 링크드인
  • 깃허브

위 내용은 . 분수 덧셈과 뺄셈의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!