재귀를 사용하여 기본 10에서 변환하는 간단하고 흥미로운 방법
👋히엘루 여러분! 🔥🚀
위에서 읽은 것처럼 재귀의 힘을 사용하여 숫자를 10진수에서 더 작은 진수로 변환하는 정말 훌륭하고 흥미로운 방법을 보여드리겠습니다.💪
코드로 이동하기 전에 프로그램이 어떤 입력을 받을 수 있는지 이해할 수 있도록 몇 가지 관찰 사항을 나열하겠습니다.
그래서, 아이디어는 무엇입니까?🤔🤔
일반적으로, 우리는 숫자가 0이 될 때까지 반복적으로 숫자를 밑으로 나눈 다음 나머지 모든 나눗셈을 역순으로 취하고 이것이 새로운 숫자입니다. 이 프로세스는 힘들고 추가 변수가 필요합니다.
재귀는 여기서 잘 작동합니다. 기본 케이스에 도달할 때까지(숫자가 0이 됨) 새 숫자를 나눈 동일한 함수를 재귀적으로 호출한 다음 재귀의 스택 프레임이 끝에서 시작하여 역순으로 다시 시작됩니다. 이제 메모리에서 함수 호출로 인한 모든 스택 프레임에는 숫자가 포함되어 있으며 우리가 해야 할 유일한 일은 모든 스택 프레임에 대한 마지막 명령으로 [그 숫자] % [기본]을 인쇄하는 것입니다.
코드입니다🔥
#include <iostream>
using namespace std;
void Convert(unsigned long long Number, const unsigned short BaseToConvert)
{
if (Number)
{
Convert(Number / BaseToConvert, BaseToConvert);
cout << Number % BaseToConvert;
}
}
int main()
{
unsigned long long number; cout << "Number to convert: "; cin >> number;
unsigned short baseToConvert; cout << "\nNew base: "; cin >> baseToConvert;
cout << "\nNumber converted: "; Convert(number, baseToConvert); cout << '\n';
return 0;
}
읽어주셔서 감사합니다!😃
나는 당신이 읽는 것을 즐겼고 이것이 흥미로웠기를 바랍니다.
Reference
이 문제에 관하여(재귀를 사용하여 기본 10에서 변환하는 간단하고 흥미로운 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/emanuel191/simple-and-interesting-way-to-convert-from-base-10-using-recursion-583n텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)