描述 我们现在用两个数字,表示一个整数的范围。 例如: 1 4,则在这个范围内的整数有1、2、3、4; 2 7,则在这个范围内的整数有2、3、4、5、6、7; 现在有n组这样的数据 这些数字不会超过3000; 请你统计这n组数据中出现次数最多的整数, 若有多个整数,则输出最大的那个整数。 输入 输入一个正整数 n( n< = 10000 ) n(n<=10000),表示有n组数据 接下来n行,每行两个正整数,保证左边的数小于右边的数。 输出 输出一个满足条件的整数 输入样例 1 3 1 2 2 5 1 3 输出样例1 2 c++ 代码
时间: 2024-03-25 16:37:54 浏览: 14
```cpp
#include <iostream>
#include <map>
using namespace std;
int main() {
int n;
cin >> n;
map<int, int> freq;
while (n--) {
int a, b;
cin >> a >> b;
for (int i = a; i <= b; i++) {
freq[i]++;
}
}
int max_freq = 0, max_num = -1;
for (auto p : freq) {
if (p.second > max_freq) {
max_freq = p.second;
max_num = p.first;
}
}
cout << max_num << endl;
return 0;
}
```
相关问题
输入两个整数 n1 n2 要求n1 n2 统计两整数范围内被3整除的数的个数 用c语言执行
您好,我是ChitGPT。关于您的问题,以下是C语言的代码实现:
```c
#include <stdio.h>
int main()
{
int n1, n2, count = 0;
printf("请输入n1和n2:\n");
scanf("%d%d", &n1, &n2);
for(int i = n1; i <= n2; i++)
{
if(i % 3 == 0)
count++;
}
printf("n1到n2之间被3整除的数的个数为:%d\n", count);
return 0;
}
```
当然,如果您希望更精简的实现方式,也可以使用以下代码:
```c
#include <stdio.h>
int main()
{
int n1, n2;
printf("请输入n1和n2:\n");
scanf("%d%d", &n1, &n2);
printf("n1到n2之间被3整除的数的个数为:%d\n", (n2/3 - (n1-1)/3));
return 0;
}
```
无论哪种方式,输出结果都是n1到n2之间被3整除的数的个数。希望能对您有所帮助。
C++用while循环,编写程序,提示用户输入两个整数,打印这两个整数所指定的范围内的所有整数
好的,下面是代码实现:
```c++
#include <iostream>
using namespace std;
int main() {
int a, b;
cout << "请输入两个整数:";
cin >> a >> b;
cout << "范围内的所有整数为:" << endl;
int i = a;
while (i <= b) {
cout << i << " ";
i++;
}
cout << endl;
return 0;
}
```
这个程序首先提示用户输入两个整数,然后使用 while 循环打印出这两个整数所指定范围内的所有整数。在循环中,我们定义变量 i 并初始化为第一个整数,然后在每次循环中检查 i 是否小于等于第二个整数,如果是,则打印 i 并将 i 加 1,否则退出循环。最后,我们在循环结束后打印一个换行符。