c++判断一个整数中是否出现重复数字
时间: 2024-09-15 21:14:37 浏览: 195
在C++中,你可以使用集合(如`std::set`)来检查一个整数是否包含重复的数字。`std::set`不允许有重复元素,所以如果你尝试将整数中的每个数字添加到`std::set`中,如果插入成功则表示该数字不重复,否则就说明重复了。
以下是一个简单的示例:
```cpp
#include <iostream>
#include <set>
bool hasDuplicate(int num) {
std::set<int> digits;
while (num != 0) {
int digit = num % 10; // 获取个位数字
if (digits.find(digit) != digits.end()) { // 如果已存在,则有重复
return true;
}
digits.insert(digit); // 否则,添加到集合中
num /= 10; // 移除个位后处理十位
}
return false; // 数字中没有重复,返回false
}
int main() {
int input;
std::cout << "Enter an integer: ";
std::cin >> input;
if (hasDuplicate(input)) {
std::cout << "The number contains duplicate digits.\n";
} else {
std::cout << "The number does not contain duplicate digits.\n";
}
return 0;
}
```
阅读全文