检查数字是否仅由C ++中的1、14或144串联而成
在这里,我们将看到一个问题,该问题可以判断字符串或数字是否仅是1、14或144的串联。假设字符串为“111411441”,则有效,但“144414”无效。
任务很简单,我们必须从最后一个数字中获取一位数字,两位数字和三位数字,并检查它们是否与这三个(1、14和144)中的任何一个相匹配,如果我们得到一个匹配,则除以编号,然后重复此过程,直到整个编号都用尽。
示例
#include <iostream>
#include <cmath>
using namespace std;
bool checkNumber(long long number) {
int n = number;
while (n > 0) {
if (n % 1000 == 144)
n /= 1000;
else if (n % 100 == 14)
n /= 100;
else if (n % 10 == 1)
n /= 10;
else {
return false;
}
}
return true;
}
int main() {
long long n = 111411441;
if(checkNumber(n)){
cout << "Valid number";
} else {
cout << "Invalid number";
}
}输出结果
Valid number
热门推荐
10 医院探望朋友祝福语简短
11 毕业祝福语简短女朋友
12 春节虎年爸妈祝福语简短
13 儿童毕业祝福语 简短6
14 开工仪式横幅祝福语简短
15 孩子日常祝福语大全简短
16 清晨寄语诗句祝福语简短
17 结婚送亲认亲祝福语简短
18 虎年喝酒拜年祝福语简短