📅  最后修改于: 2023-12-03 15:26:46.672000             🧑  作者: Mango
本文将介绍一个算法,以帮助程序员检查一个数字是否仅设置了第一位和最后一位为"2"。该算法应适用于主要编程语言,如C++,Python,Java等等。
要检查一个数字是否只包含第一位和最后一位,且都是数字"2",我们可以使用以下算法思路:
以下是Python代码示例:
import re
def check_matching(num):
num_str = str(num)
first_char, last_char = num_str[0], num_str[-1]
pattern = re.compile("^[2]+$")
if pattern.match(first_char) and pattern.match(last_char):
return True
else:
return False
以下是C++程序实现该算法的代码示例:
#include<iostream>
#include<string>
#include<regex>
using namespace std;
bool check_matching(int num) {
string num_str = to_string(num);
char first_char = num_str[0], last_char = num_str.back();
regex pattern("^[2]+$");
if (regex_match(string(1,first_char), pattern) && regex_match(string(1,last_char), pattern)) {
return true;
} else {
return false;
}
}
int main() {
int num = 22522;
if (check_matching(num)) {
cout << num << " 包含只有第一位和最后一位为 \"2\"" << endl;
} else {
cout << num << " 不仅包含第一位和最后一位为 \"2\"" << endl;
}
return 0;
}
这篇文章介绍了一个算法,可以检查一个数字是否包含仅有第一位和最后一位为"2"。这个算法可以用于大多数主流编程语言,并提供了Python和C++的范例代码。如果您需要一个简单而又快速的方式来检查数字,这个算法可能会非常有用。