c++的生日相同问题题目题解
时间: 2024-06-16 18:04:07 浏览: 172
C++的生日相同问题是一个经典的编程问题,它要求找出一组人中是否存在两个人生日相同的情况。下面是一种常见的解题思路:
1. 创建一个数组或者集合,用于存储已经出现过的生日。
2. 遍历给定的人员列表,对于每个人的生日,判断是否已经在数组或集合中存在。
3. 如果存在相同的生日,则说明存在两个人生日相同的情况,返回true。
4. 如果遍历完所有人员后都没有找到相同的生日,则返回false。
以下是C++代码示例:
```cpp
#include <iostream>
#include <unordered_set>
using namespace std;
bool hasSameBirthday(int birthdays[], int size) {
unordered_set<int> birthdaySet;
for (int i = 0; i < size; i++) {
if (birthdaySet.count(birthdays[i]) > 0) {
return true;
}
birthdaySet.insert(birthdays[i]);
}
return false;
}
int main() {
int birthdays[] = { 19900101, 19951225, 19900101, 19930415 };
int = sizeof(birthdays) / sizeof(birthdays);
(hasSameBirthday(birthdays, size)) {
cout << "两个人生日相同的情况" << endl;
} else {
cout << "不存在两个人生日相同的情况" << endl;
}
return 0;
}
```
阅读全文