在 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