给定一个数的序列S,以及一个区间[L, R], 求序列中介于该区间的数的个数,即序列中大于等于L且小于等于R的数的个数。
时间限制:1000
内存限制:65536
输入
第一行3个整数n、L、R,分别表示序列的长度,区间的左端点,区间的右端点。(0 < n ≤ 10000, 1 ≤ L ≤ R ≤ 1000000) 第二行n个正整数,表示序列里的每一个数,每个数小于等于10000000
输出
输出一个整数,表示序列中大于等于L且小于等于R的数的个数。
样例输入
5 1 10
11 8 1 10 16
样例输出
3
#include <iostream>
using namespace std;
int main()
{
int n, L, R, x, count = 0;
cin >> n >> L >> R;
for (int i = 0; i < n; i++)
{
cin >> x;
if (x >= L && x <= R)
count++;
}
cout << count << endl;
return 0;
}
测试图:
#include<iostream>
using namespace std;
int main()
{
int n,a[10001],l,r,sum=0;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
cin>>l>>r;
for(int i=1;i<=n;i++){
if(a[i]>=l&&a[i]<=r) sum++;
}
cout<<sum;
return 0;
}
希望对题主有所帮助,可以的话,帮忙点个采纳!
#include<iostream>
using namespace std;
int main()
{
int n,a[10001],l,r,sum=0;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
cin>>l>>r;
for(int i=1;i<=n;i++){
if(a[i]>=l&&a[i]<=r) sum++;
}
cout<<sum;
return 0;
}
#include <stdio.h>
int main()
{
int S[10000];
int n,L,R,j,count=0;
scanf("%d%d%d",&n,&L,&R);
for(j=0; j<n; j++)
{
scanf("%d",&S[j]);
if(S[j]>=L&&S[j]<=R)
{
count++;
}
}
printf("%d",count);
return 0;
}
#include <stdio.h>
int fun(int n)
{ int a[10000], i,j, count=0;
for (i=2; i<=n; i++) a[i] = i;
i = 2;
while (i<n) {
/**********found**********/
for (j=a[i]*2; j<=n; j+=a[i])//a[i]的所有倍数
a[j] = 0;
i++;
/**********found**********/
while (a[i]==0)
i++;
}
printf("\nThe prime number between 2 to %d\n", n);
for (i=2; i<=n; i++)
/**********found**********/
if (a[i]!=0)
{ count++; printf( count%15?"%5d":"\n%5d",a[i]); }
return count;
}
void main()
{ int n=20, r;
r = fun(n);
printf("\nThe number of prime is : %d\n", r);
}