在 C++ 中查詢僅包含 3 和 4 的數字系統中的第 n 個數字
在這個問題中,我們給定一個元素 N。我們需要在僅包含 3 和 4 的數字系統中找到第 N 個數字。
該數字系統由元素 3、4、33、34、43、44、333、334、343、344……組成。
讓我們舉個例子來理解這個問題,
輸入
N = 6
輸出
44
解釋
數字系統的數字為 - 3、4、33、34、43、44...
解決方案方法
該數字系統類似於二進位制數字系統,但數字 0 被替換為 3,數字 1 被替換為 4。
讓我們將其稱為 sBinary。
因此,第 N 個數字是 (n-1) 的 Sbinary 轉換。
有了這些知識,我們可以透過找到 (N-1) 的二進位制等價物,然後將找到的二進位制數的每個數字加 3 來輕鬆解決問題。
程式說明我們的解決方案的工作原理,
示例
#include<iostream>
using namespace std;
void findNThTermNumberSystem(int N) {
if(N == 1 || N == 2) {
cout<<(N-1) + 3;
return;
}
N -= 1;
findNThTermNumberSystem(N/2);
cout<<((N % 2) + 3);
}
int main(){
int N = 12;
cout<<N<<"th term of the number system is ";
findNThTermNumberSystem(N);
return 0;
}輸出
12th term of the number system is 434
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP