C++中n位步进数的个数
在本教程中,我们将编写一个程序来计算n位步进数的数量。
步进数是连续数位之差为1的数。
给你一个数字n代表位数。您需要用n位数字计算步进数的总数。
让我们看看解决问题的步骤。
初始化数字n。
将计数初始化为0。
编写一个循环,从最低的n位数迭代到最高的n位数。
检查当前号码是否为步进号码。
如果当前数字是步进数字,则增加计数。
返回计数。
示例
让我们看看代码。
#include输出结果using namespace std; bool isSteppingNumber(int n) { int previousDigit = -1; while (n) { int currentDigit = n % 10; if (previousDigit != -1 && abs(previousDigit - currentDigit) != 1) { return false; } previousDigit = currentDigit; n /= 10; } return true; } int getSteppingNumbersCount(int n) { int lowestNumber = pow(10, n - 1), highestNumber = pow(10, n) - 1; int count = 0; for (int i = lowestNumber; i <= highestNumber; i++) { if (isSteppingNumber(i)) { count += 1; } } return count; } int main() { int n = 3; cout << getSteppingNumbersCount(n) << endl; return 0; }
如果你运行上面的代码,那么你会得到下面的结果。
32
结论
如果您对本教程有任何疑问,请在评论部分提及。