목차
개념적 이해
알고리즘 설명
출력
테스트 케이스 예시
시간과 공간의 복잡성
결론
백엔드 개발 C++ 숫자를 4로 나누기 위해 삭제해야 하는 최소 자릿수

숫자를 4로 나누기 위해 삭제해야 하는 최소 자릿수

Sep 15, 2023 pm 01:49 PM
나눌 수 있는 삭제 수학 연산

숫자를 4로 나누기 위해 삭제해야 하는 최소 자릿수

이 기사에서는 흥미로운 계산 문제인 "4로 나눌 수 있는 숫자를 만들기 위해 제거해야 하는 최소 자릿수"를 살펴보겠습니다. 이 질문은 코딩대회나 알고리즘 기반 면접에서 흔히 나오는 질문으로, 문제 해결 능력을 향상시키는 데 탁월한 연습이 됩니다.

먼저 문제 설명을 이해해 보겠습니다. 숫자가 있고 우리의 임무는 나머지 숫자가 4로 나누어질 수 있도록 최소 자릿수를 제거하는 것입니다.

개념적 이해

문제는 정수론 분야에 있습니다. 이해해야 할 중요한 사실은 숫자의 마지막 두 자리가 4로 나누어지는 경우에만 숫자가 4로 나누어진다는 것입니다. 이 사실은 우리 문제를 해결하는 데 매우 중요합니다.

알고리즘 설명

이 문제를 해결하는 알고리즘에는 다음 단계가 포함됩니다. -

  • 숫자를 문자열로 변환하세요.

  • 문자열 끝부터 시작하여 마지막 두 문자로 구성된 숫자가 4로 나누어지는지 확인하세요.

  • 그렇다면 삭제된 자릿수를 반환하세요. 그렇지 않은 경우 마지막 문자를 제거하고 개수를 늘립니다.

  • 숫자가 4로 나누어지거나 한 자리만 남을 때까지 이 작업을 반복하세요.

이것은 알고리즘의 C++ 구현입니다. -

으아악

출력

으아악

minRemovals 함수에서는 카운터 카운트를 0으로 초기화하여 제거된 비트 수를 추적합니다. 그런 다음 숫자(문자열)의 끝부터 반복하여 마지막 두 자리가 4로 나누어지는 숫자를 형성하는지 확인합니다. 그렇다면 개수를 반환하고, 그렇지 않으면 개수를 반환합니다. 그렇지 않은 경우 개수를 늘리고 다음 반복을 계속합니다.

main 함수는 입력 숫자를 정의하고 숫자가 4로 나누어질 수 있도록 제거할 최소 자릿수를 인쇄하는 프로그램의 진입점 역할을 합니다.

테스트 케이스 예시

번호 1351을 예로 들어보겠습니다. 마지막 두 자리(51)를 살펴보면 4로 나누어 떨어지지 않는다는 것을 알 수 있습니다. 따라서 마지막 숫자 (1)을 제거하고 숫자 135를 얻습니다. 다시 확인해 보니 마지막 두 자리(35)가 여전히 4로 나누어지지 않는 것을 알 수 있습니다. 따라서 마지막 숫자(5)를 제거하고 숫자 13을 남겨둡니다. 마지막 두 자리(13)는 4로 나누어지지 않으므로 마지막 자리(3)를 삭제합니다. 이제 4로 나누어지지 않는 숫자 1만 남았지만 더 이상 숫자를 제거할 수는 없습니다. 따라서 제거해야 할 최소 자릿수는 3입니다.

시간과 공간의 복잡성

이 알고리즘의 시간 복잡도는 O(n)입니다. 여기서 n은 숫자의 자릿수입니다. 알고리즘에서 추가 데이터 구조를 사용하지 않으므로 공간 복잡도는 O(1)입니다.

결론

이 글에서는 일반적인 컴퓨팅 문제, 즉 숫자를 4로 나누기 위해 제거해야 하는 최소 자릿수를 결정하는 문제를 살펴보겠습니다. 우리는 정수론의 주요 통찰력을 사용하여 간결한 C++ 솔루션을 개발했습니다.

위 내용은 숫자를 4로 나누기 위해 삭제해야 하는 최소 자릿수의 상세 내용입니다. 자세한 내용은 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. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

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

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

inetpub 폴더를 삭제할 수 있나요? C 드라이브의 inetpub 폴더를 빠르게 삭제하는 방법 inetpub 폴더를 삭제할 수 있나요? C 드라이브의 inetpub 폴더를 빠르게 삭제하는 방법 Mar 13, 2024 pm 02:00 PM

컴퓨터의 C 드라이브에 메모리를 많이 차지하는 inetpub 폴더가 있는 것으로 나타났습니다. 이 inetpub 폴더는 무엇인가요? 바로 삭제가 가능한가요? 실제로 inetpub는 IIS 서버의 폴더입니다. IIS의 전체 이름은 인터넷 정보 서비스(Internet Information Services)입니다. 웹 사이트를 구축하고 디버깅하는 데 사용할 수 있으며, 필요하지 않으면 제거할 수 있습니다. 구체적인 방법은 다음과 같습니다. 1. 시작 메뉴를 마우스 오른쪽 버튼으로 클릭하고 "프로그램 및 기능"을 선택합니다. 2. 실행 후 "Windows 기능 켜기/끄기"를 클릭합니다. 3. Windows 기능 목록에서 II를 선택 취소합니다.

Xiaohongshu 메모를 삭제하는 방법 Xiaohongshu 메모를 삭제하는 방법 Mar 21, 2024 pm 08:12 PM

Xiaohongshu 메모를 삭제하는 방법 Xiaohongshu 앱에서 메모를 편집할 수 있습니다. 다음으로 편집기는 Xiaohongshu 메모 삭제 방법에 대한 사용자 사진과 텍스트를 가져옵니다. 보세요! Xiaohongshu 사용 튜토리얼 Xiaohongshu 메모 삭제 방법 1. 먼저 Xiaohongshu 앱을 열고 메인 페이지로 들어가서 오른쪽 하단에 있는 [Me]를 선택하여 특별 영역으로 들어갑니다. 2. 그런 다음 내 영역에서 다음과 같이 메모 페이지를 클릭합니다. 3. 노트 페이지에 들어가서 오른쪽 상단에 있는 [점 3개]를 클릭합니다. 4. 마지막으로 기능 표시줄이 하단에 확장되고 [삭제]를 클릭하여 완료합니다.

어떤 폴더가 발견되었나요.000? found.000 폴더를 삭제할 수 있나요? 어떤 폴더가 발견되었나요.000? found.000 폴더를 삭제할 수 있나요? Mar 13, 2024 pm 08:52 PM

컴퓨터를 매일 사용하는 과정에서found.000 파일이 누락되어 손상되었다는 오류 메시지가 나타날 수 있습니다. 이found.000은 어떤 폴더입니까? 더 이상 쓸모가 없으면 삭제할 수 있나요? 이 파일을 모르는 분들이 너무 많아서found.000 폴더에 대해 자세히 알려드릴게요~ 1.found.000 폴더는 무엇인가요? 불법 종료로 인해 컴퓨터가 일부 또는 완전히 분실된 경우, 찾을 수 있습니다. "found.000"이라는 특수 폴더와 그 안에 포함된 ".chk" 확장자를 가진 파일은 시스템 파티션에 있는 지정된 디렉터리에 있습니다. 이 "fo

WeChat에서 차단 및 삭제되어 영구적으로 추가될 수 없다는 것이 사실인가요? WeChat에서 차단 및 삭제되어 영구적으로 추가될 수 없다는 것이 사실인가요? Apr 08, 2024 am 11:41 AM

1. 우선, 누군가를 영구 차단 및 삭제하고 영구 추가하지 않는 것은 허위입니다. 상대방을 차단하고 삭제한 후 추가하려면 상대방의 동의만 있으면 됩니다. 2. 사용자가 누군가를 차단하면 상대방은 해당 사용자에게 메시지를 보낼 수 없고, 사용자의 친구 서클을 볼 수 없으며, 사용자와 통화할 수 없습니다. 3. 차단은 사용자의 WeChat 연락처 목록에서 상대방을 삭제하는 것을 의미하지 않습니다. 4. 상대방을 차단한 후 자신의 위챗 연락처 목록에서 상대방을 삭제한 경우, 삭제 후 복구할 수 있는 방법이 없습니다. 5. 상대방을 다시 친구로 추가하려면 상대방이 동의한 후 다시 친구를 추가해야 합니다.

Go 언어의 정수 나누기 연산 및 나머지 계산 방법에 대한 자세한 설명 Go 언어의 정수 나누기 연산 및 나머지 계산 방법에 대한 자세한 설명 Mar 23, 2024 pm 06:00 PM

Go 언어의 정수 나누기 연산 및 나머지 계산 방법에 대한 자세한 설명 Go 언어에서 정수 나누기 연산과 나머지 계산은 일반적인 수학 연산입니다. 이 기사에서는 Go 언어에서 정수 나누기 연산과 나머지 계산을 수행하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 정수 나누기 연산 Go 언어에서는 정수 나누기 연산에 / 기호를 사용합니다. 정수 나누기 연산은 두 숫자를 나눈 몫을 취하는 것을 의미합니다. 결과는 정수 부분입니다. 즉, 소수 부분은 무시되고 반올림 연산이 수행되지 않습니다. 정수 나누기 연산은 나누기 후 정수 몫을 계산하는 데 자주 사용됩니다. 코드 예: 패키지

Xiaohongshu 릴리스를 삭제하는 방법은 무엇입니까? 삭제 후 복구하는 방법은 무엇입니까? Xiaohongshu 릴리스를 삭제하는 방법은 무엇입니까? 삭제 후 복구하는 방법은 무엇입니까? Mar 21, 2024 pm 05:10 PM

인기 있는 소셜 전자상거래 플랫폼인 Xiaohongshu는 일상생활과 쇼핑 경험을 공유하기 위해 많은 사용자를 끌어 모았습니다. 때때로 당사는 개인 이미지를 더 잘 유지하거나 플랫폼 규정을 준수하기 위해 적시에 삭제해야 하는 일부 부적절한 콘텐츠를 실수로 게시할 수 있습니다. 1. Xiaohongshu 릴리스를 삭제하는 방법은 무엇입니까? 1. Xiaohongshu 계정에 로그인하고 개인 홈페이지에 들어갑니다. 2. 개인 홈페이지 하단의 '내 창작물' 옵션을 찾아 클릭하여 입장합니다. 3. "내 창작물" 페이지에서는 노트, 동영상 등 게시된 모든 콘텐츠를 볼 수 있습니다. 4. 삭제가 필요한 콘텐츠를 찾아 오른쪽에 있는 "..." 버튼을 클릭하세요. 5. 팝업 메뉴에서 "삭제" 옵션을 선택하세요. 6. 삭제 확인 후 해당 콘텐츠는 개인 홈페이지 및 공개 페이지에서 사라집니다.

hiberfil.sys 파일이란 무엇입니까? hiberfil.sys를 삭제할 수 있나요? hiberfil.sys 파일이란 무엇입니까? hiberfil.sys를 삭제할 수 있나요? Mar 15, 2024 am 09:49 AM

최근 많은 네티즌들이 편집자에게 hiberfil.sys 파일이 무엇인지 문의했습니다. hiberfil.sys가 C 드라이브 공간을 많이 차지하고 삭제될 수 있나요? 편집자는 hiberfil.sys 파일을 삭제할 수 있음을 알려줄 수 있습니다. 아래에서 자세한 내용을 살펴보겠습니다. hiberfil.sys는 Windows 시스템의 숨겨진 파일이자 시스템 최대 절전 모드 파일입니다. 일반적으로 C 드라이브의 루트 디렉터리에 저장되며 크기는 시스템에 설치된 메모리 크기와 동일합니다. 이 파일은 컴퓨터가 최대 절전 모드일 때 사용되며, 복구 시 빠르게 이전 상태로 복원할 수 있도록 현재 시스템의 메모리 데이터를 담고 있습니다. 크기가 메모리 용량과 동일하므로 하드 드라이브 공간을 더 많이 차지할 수 있습니다. 동면

TikTok 채팅 기록을 완전히 삭제하는 방법 TikTok 채팅 기록을 완전히 삭제하는 방법 May 07, 2024 am 11:14 AM

1. Douyin 앱을 열고 인터페이스 하단의 [메시지]를 클릭한 후 삭제해야 하는 채팅 대화 항목을 클릭합니다. 2. 채팅 기록 중 하나를 길게 누른 후 [복수 선택]을 클릭하고 삭제하려는 채팅 기록을 선택하세요. 3. 해당 기록을 영구 삭제하려면 오른쪽 하단의 [삭제] 버튼을 클릭한 후 팝업창에서 [삭제 확인]을 선택하세요.

See all articles