C++中使用{0, 1, 2, 3, 4, 5}这些数字组成的第n个数
用数字{0, 1, 2, 3, 4, 5}组成的数字是
0, 1, 2, 3, 4, 5, 10, 11, 12, 13, 14, 15, 20, 21, 22, 23, 24, 25,等等…
我们可以使用前6个数字来形成上述序列。让我们来看一个数字形成的例子。
1 * 10 + 0 = 10
1 * 10 + 1 = 11
1 * 10 + 2 = 12
1 * 10 + 3 = 13
1 * 10 + 4 = 14
1 * 10 + 5 = 15
同样,对数字2、3、4、5也适用。使用上述模式,你将得到接下来的6个以2开头的数字。然后是3,之后是4和5。
算法
- 初始化数字n。
- 初始化一个向量。
- 编写一个从0迭代到5的循环。
- 我们得到了这个序列的前六个数字。
- 编写一个从0迭代到n/6的循环。
- 编写一个从0迭代到5的循环。
- 使用上述讨论的模式生成剩余的数字。
- 将它们推入向量。
- 从序列中返回第n个数字。
实现
以下是上述算法在C++中的实现
#include <bits/stdc++.h>
using namespace std;
int findNthNumber(int n) {
vector<int> numbers;
for (int i = 0; i < 6; i++) {
numbers.push_back(i);
}
for (int i = 0; i <= n / 6; i++) {
for (int j = 0; j < 6; j++) {
if ((numbers[i] * 10) != 0) {
numbers.push_back(numbers[i] * 10 + numbers[j]);
}
}
}
return numbers[n - 1];
}
int main() {
int n = 7;
cout << findNthNumber(n) << endl;
return 0;
}
输出
如果你运行上面的代码,你将得到以下结果。
10
- 相关文章
- C++程序:查找序列0, 0, 2, 1, 4, 2, 6, 3, 8…的第N项
- C++程序:查找仅由质数数字(2, 3, 5和7)组成的第n个数
- 以下数据给出了41个家庭的子女数量:$1, 2, 6, 5, 1, 5, 1, 3, 2, 6, 2, 3, 4, 2, 0, 0, 4, 4, 3, 2, 2, 0, 0, 1, 2, 2, 4, 3, 2, 1, 0, 5, 1, 2, 4, 3, 4, 1, 6, 2, 2.$ 将其表示为频数分布的形式。
- C++程序:查找序列0, 2, 1, 3, 1, 5, 2, 7, 3…的第N项
- C++程序:查找序列1 2 2 3 3 3 4中的第n项
- C++中1/(1*2) + 1/(2*3) + 1/(3*4) + 1/(4*5) + ...级数的和
- 在C++中查找(1^n + 2^n + 3^n + 4^n) mod 5
- C++程序:查找级数(1*1) + (2*2) + (3*3) + (4*4) + (5*5) + … + (n*n)的和
- 从下列展开式中找出每个数字:$(a)$. $8\times10^4+6\times10^3+0\times10^2+4\times10^1+5\times10^0$$(b)$. $4\times10^4+5\times10^3+3\times10^2+2\times10^0$$(c)$. $3\times10^4+7\times10^2+5\times10^0$$(d)$. $9\times10^5+2\times10^2+3\times10^1$
- C++程序:查找级数1*2*3 + 2*3*4+ 3*4*5 + . . . + n*(n+1)*(n+2)的和
- C++中级数1 + (1+2) + (1+2+3) + (1+2+3+4) + ... + (1+2+3+4+...+n)的和
- C++中(1^1)*(2^2)*(3^3)*(4^4)*..的尾随零的个数
- 在C++中查找给定n的(n^1 + n^2 + n^3 + n^4) mod 5的值
- 命名形成的四边形的类型(如果有的话),并说明你的答案的原因。(i) $(-1, -2), (1, 0), (-1, 2), (-3, 0)$(ii) $(-3, 5), (3, 1), (0, 3), (-1, -4)$(iii) $(4, 5), (7, 6), (4, 3), (1, 2)$
- C++程序:查找第n项为n^2 - (n-1)^2的级数的和