在C++中检查一个数字是否是混乱的
这里,我们将了解一个有趣的问题,即如何检查一个数字是否是混乱的。一个数字被称为混乱数字,如果对于它的每一位数字,其相邻数字的差值都最大为 1。例如,数字 1223 是混乱的,而 1256 不是混乱的。
为了解决这个问题,我们必须检查一个数字是否有相邻的数字,其差值大于 1。如果找到了这样的数字,则返回 false,否则返回 true。
示例
#include <iostream> #include <cmath> using namespace std; bool isJumbled(int number) { if (number / 10 == 0) //for single digit number is is always jumbled return true; while (number != 0) { if (number / 10 == 0) //when all digits have checked, return true return true; int curr_digit = number % 10; int prev_digit = (number / 10) % 10; if (abs(prev_digit - curr_digit) > 1) return false; number = number / 10; } return true; } int main() { int n = 1223; if(isJumbled(n)){ cout << n << " is Jumbled"; } else { cout << n << " is not Jumbled"; } }
输出
1223 is Jumbled
广告