목차
방법
방법 1(간단한 수학 사용)
백엔드 개발 C++ 곱셈, 나눗셈, 모듈로 연산자를 사용하지 않고 두 정수 나누기

곱셈, 나눗셈, 모듈로 연산자를 사용하지 않고 두 정수 나누기

Sep 21, 2023 pm 12:41 PM
빼기 정수 나눗셈 bitshift

곱셈, 나눗셈, 모듈로 연산자를 사용하지 않고 두 정수 나누기

이 문제에서는 곱셈, 나눗셈, 모듈로 연산자를 사용하지 않고 두 개의 정수만 나누면 됩니다. 덧셈, 곱셈 또는 비트 연산을 사용할 수 있습니다.

문제 설명에는 두 개의 정수 x와 y를 얻을 것이라고 나와 있습니다. 곱셈, 나눗셈 또는 모듈로 연산자를 사용하지 않고 x를 y로 나눈 몫을 결정해야 합니다.

입력: x=15, y=5

출력: 3

입력: x=10, y=4

출력: 2

Input: x=-20, y=3

출력: -6

방법

방법 1(간단한 수학 사용)

이 방법에서는 간단한 수학적 알고리즘을 사용합니다. 다음은 우리가 따라야 할 단계별 지침입니다.

  • x가 y보다 크거나 같을 때까지 피제수(예: x)에서 제수(예: y)를 계속 뺍니다.

  • y가 x보다 큰 경우, 즉 제수가 피제수보다 크면 피제수는 나머지가 되고 뺄셈의 개수는 몫이 됩니다.

  • 뺄셈이 수행된 횟수를 변수에 저장하고 반환합니다. 이것이 우리가 원하는 출력입니다.

다음은 위 알고리즘의 C++ 구현입니다. 으아악

출력

으아악

시간 복잡도: O(a/b)

공간 복잡도: O(1)

방법 2(비트 연산 사용)

  • 모든 숫자는 0 또는 1로 표시될 수 있으므로 몫은 시프트 연산자를 사용하여 이진 형식으로 표시할 수 있습니다.

  • for 루프를 사용하여 제수의 비트 위치를 31에서 1로 반복합니다.

  • 제수, 즉 b
  • 다음 위치를 확인할 때 결과를 임시 변수에 추가하여 temp+(b
  • 몫을 계산하여 매번 몫을 업데이트하세요

    OR 1

  • 해당 기호를 업데이트한 후 몫으로 돌아갑니다.

다음은 위 메서드의 C++ 구현입니다. -

으아악

출력

으아악

시간 복잡도: O(log(a))

공간 복잡도: O(1), 추가 공간을 사용하지 않기 때문입니다.

방법 3 (로그 함수 사용)

이 방법에서는 간단한 로그 함수를 사용하여 몫을 계산하겠습니다.

우리 모두 알고 있듯이

$$mathrm{In(frac{a}{b}):=:In(a):-:In(b)}$$

추가로

로 수정 가능

$$mathrm{frac{a}{b}:=:e^{(In(a):-:In(b))}}$$

그래서 이것이 효율적인 방법을 사용하여 주어진 문제를 해결하는 기본 아이디어입니다.

다음은 우리가 따를 방법에 대한 단계별 지침입니다.

  • 둘 중 하나(예: 배당금 또는 제수)가 0이면 0을 반환합니다.

  • 이제 기호를 변수에 저장하기 위해 배타적 OR(XOR) 함수를 사용하여 기호를 확인하겠습니다.

  • 제수가 1이면 배당금이 직접 반환됩니다.

  • 이제 변수를 선언하고

    exp 함수와 log 함수를 사용해보세요.

  • Log와 exp는 C++에 내장된 함수입니다. log 함수는 입력 숫자의 자연 로그를 반환하고 exp는 e에 입력 값을 더한 값을 반환합니다.

다음은 위 메서드의 C++ 구현입니다. -

으아악

출력

으아악

시간 복잡도: O(1), , 작업을 수행하는 데 일정한 시간이 걸리기 때문입니다.

공간 복잡도: O(1), 추가 공간을 사용하지 않기 때문입니다.

결론

이 글에서는 곱셈, 나눗셈 또는 모듈로 연산자를 사용하지 않고 두 정수를 나누는 방법을 배웁니다. 우리는 다양한 효율성으로 다양한 방식으로 문제를 해결하는 방법을 배웠습니다. 이는 간단한 수학, 비트 연산 및 로그 함수를 사용합니다. 그 중 로그함수를 이용하는 방법은 시간복잡도가 O(1)로 모든 방법 중 가장 작기 때문에 가장 효율적인 방법이다.

이 기사가 이 주제와 관련된 모든 개념을 해결하는 데 도움이 되었기를 바랍니다.

위 내용은 곱셈, 나눗셈, 모듈로 연산자를 사용하지 않고 두 정수 나누기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 채팅 명령 및 사용 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

곱셈, 나눗셈, 모듈로 연산자를 사용하지 않고 두 정수 나누기 곱셈, 나눗셈, 모듈로 연산자를 사용하지 않고 두 정수 나누기 Sep 21, 2023 pm 12:41 PM

이 문제에서는 곱셈, 나눗셈, 모듈로 연산자를 사용하지 않고 두 개의 정수만 나누면 됩니다. 덧셈, 곱셈 또는 비트 연산을 사용할 수 있습니다. 문제 설명에는 두 개의 정수 x와 y를 얻을 것이라고 나와 있습니다. 곱셈, 나눗셈 또는 모듈로 연산자를 사용하지 않고 x를 y로 나눈 몫을 결정해야 합니다. 예 입력: x=15, y=5 출력: 3 입력: x=10, y=4 출력: 2 입력: x=-20, y=3 출력: -6 방법 방법 1(간단한 수학 사용) 여기에서는 방법에서는 간단한 수학적 알고리즘을 사용하겠습니다. 다음은 우리가 따라야 할 단계에 대한 단계별 설명입니다. x가 y보다 크거나 같을 때까지 피제수(예: x)에서 제수(예: y)를 계속 뺍니다. y가 x보다 클 때

Oracle 데이터베이스 조작 기술: 빼기 연산에 대한 자세한 설명 Oracle 데이터베이스 조작 기술: 빼기 연산에 대한 자세한 설명 Mar 02, 2024 pm 06:15 PM

강력한 관계형 데이터베이스 관리 시스템인 Oracle 데이터베이스는 사용자 요구 사항을 충족하는 풍부한 컴퓨팅 작업을 제공합니다. 일상적인 데이터베이스 작업에서 빼기 작업은 일반적이고 중요한 작업으로, 필요한 결과를 얻기 위해 데이터 빼기 작업을 구현하는 데 도움이 될 수 있습니다. 이 문서에서는 Oracle 데이터베이스의 빼기 작업과 관련된 기술을 자세히 설명하고 독자가 이 기능을 더 잘 이해하고 사용할 수 있도록 구체적인 코드 예제를 제공합니다. 1. Oracle 데이터의 뺄셈 연산의 기본 개념

정수 결과를 얻는 PHP 정확한 나누기 정수 결과를 얻는 PHP 정확한 나누기 Apr 09, 2024 pm 01:09 PM

PHP의 나누기 연산자(/)는 기본적으로 부동 소수점 나누기를 수행합니다. 몫의 정수 결과를 얻으려면 다음 방법을 사용할 수 있습니다. 10.5)=10) ceil() 함수: 정수를 반올림합니다(예: ceil(10.5)=11) 절단 연산자(//): 정수로 절단 모듈로 연산자(%): 나머지가 0인지 확인하여 결정 결과가 정수인지 여부

Excel에서 뺄셈을 수행하는 방법 Excel에서 뺄셈을 수행하는 방법 Mar 20, 2024 pm 02:46 PM

Excel은 우리 일상 사무실에 없어서는 안될 사무용 소프트웨어이므로 Excel을 처음 배우는 일부 사람들에게는 Excel에서 뺄셈을 수행하는 방법과 같은 몇 가지 작은 문제가 항상 발생합니다. 오늘은 친구들과 이야기하겠습니다. 구체적인 작동 단계는 아래와 같습니다. 와서 자세히 살펴보세요! 1. 먼저 엑셀 데이터 시트를 엽니다. 엑셀은 수식을 통해 뺄셈을 하려고 하는데 수식은 일반적으로 등호로 안내되기 때문에 뺄셈이 필요한 셀에 먼저 =를 입력합니다. (아래 빨간색으로 표시) 표시된 부분). 2. 그런 다음 피감수가 있는 셀을 클릭하면 셀 이름이 자동으로 수식에 추가됩니다(아래 그림의 빨간색 원 참조). 삼

Python 연산자의 의미와 적용: 덧셈, 뺄셈, 곱셈, 나눗셈 살펴보기 Python 연산자의 의미와 적용: 덧셈, 뺄셈, 곱셈, 나눗셈 살펴보기 Jan 20, 2024 am 09:21 AM

Python 연산자: 덧셈, 뺄셈, 곱셈, 나눗셈 및 그 의미에 대한 심층적인 이해에는 특정 코드 예제가 필요합니다. Python 프로그래밍 언어에서 연산자는 다양한 수학 연산을 수행하는 데 중요한 도구 중 하나입니다. 그중에서도 덧셈, 뺄셈, 곱셈, 나눗셈이 가장 일반적인 연산자입니다. 이 기사에서는 이러한 연산자의 의미와 Python에서 이를 사용하는 방법을 살펴보겠습니다. 더하기 연산자(+) 더하기 연산자는 두 숫자를 더하는 데 사용되며 두 문자열을 연결하는 데도 사용할 수 있습니다. x=5y=3결과

PPT에서 빼기 디자인을 만들고 차트를 아름답게 만드는 방법 PPT에서 빼기 디자인을 만들고 차트를 아름답게 만드는 방법 Mar 20, 2024 pm 02:00 PM

1. 차트의 기본 미화 작업 공간이 작으며 간섭하는 표시 요소가 제거됩니다. 데이터를 방해하는 요소로는 배경, 격자선, 범례 등이 있으며, 이러한 요소는 삭제, 미화, 그림자 완화가 가능합니다. 2. [PPT], [열기] 차트를 입력하고 [차트]를 클릭한 후 [+]를 선택하고 그림과 같이 체크를 [체크] 해제합니다. 3. 데이터 계열 형식을 설정하려면 [우클릭] 후 [채우기]를 클릭한 후 [채우기 없음]을 체크하세요. [데이터 열]을 클릭하고 [그림자]를 클릭하여 그림자를 제거한 후 [윤곽선]을 선택하고 [텍스트]를 흰색으로 지정합니다. 4. [Scale]을 클릭하고 [Scale Mark]를 선택한 후 그림과 같이 [Theme Type] None, [Color] white를 조정합니다. 5. 테이블을 더 명확하게 하기 위해 삭제해야 할 부분을 삭제하세요. 디자인할 때 무턱대고 추가하지 말고 적절하게 하세요.

pthread를 사용하여 C/C++에서 행렬 덧셈 및 뺄셈 구현 pthread를 사용하여 C/C++에서 행렬 덧셈 및 뺄셈 구현 Aug 28, 2023 am 09:05 AM

여기서는 멀티스레드 환경을 사용하여 행렬 덧셈과 뺄셈을 수행하는 방법을 살펴보겠습니다. pthread는 C 또는 C++에서 여러 스레드를 동시에 실행하는 데 사용됩니다. 두 개의 행렬 A와 B가 있습니다. 각 행렬의 차수는 (mxn)이다. 각 스레드는 각 행을 가져와서 더하기 또는 빼기를 수행합니다. 따라서 m개의 행에는 m개의 서로 다른 스레드가 있습니다. 예#include<iostream>#include<pthread.h>#include<cstdlib>#include<cstdint>#defineCORE3#defineMAX3usingnamespacestd;i

PHP에서 8을 -3으로 나누면 왜 0이 되나요? PHP에서 8을 -3으로 나누면 왜 0이 되나요? Jan 26, 2024 am 10:36 AM

PHP8%-3이 0인 이유는 무엇입니까? PHP 프로그래밍에서 때때로 이상하고 혼란스러운 문제에 직면할 때가 있습니다. 특히 흥미로운 질문은 왜 PHP에서 8%-3이라는 표현이 0과 같습니까?입니다. 이 질문에 대답하려면 먼저 PHP의 모듈 연산(나머지 연산)을 이해해야 합니다. 모듈로 연산은 한 숫자를 다른 숫자로 나눈 후 나머지를 계산하는 데 사용되는 수학 연산입니다. PHP에서는 퍼센트 기호(%)를 사용하여 모듈러 연산을 나타냅니다. 수학에서는 한 숫자를 다른 숫자로 나누고 나머지가 0이 되면 다음과 같이 말합니다.

See all articles