Một số được gọi là jumbled nếu hiệu giữa hai chữ số kề nhau không vượt quá 1. Ví dụ 1223 là jumbled, 1256 không phải.
Giải pháp: kiểm tra từng cặp chữ số kề nhau, nếu có cặp nào chênh lệch > 1 thì trả về false.
Ví dụ
#include <iostream>
#include <cmath>
using namespace std;
bool isJumbled(int number) {
if (number / 10 == 0)
return true;
while (number != 0) {
if (number / 10 == 0)
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";
}
}
Kết quả
1223 is Jumbled