今天我给大家出一套C++真题-2021年南海区C++组真题
限时3小时,大家加油!!!
题目1:笨鸟先飞
题目描述
多多是一只小菜鸟,都说笨鸟先飞,多多也想来个菜鸟先飞。
于是它从 0 点出发,一开始的飞行速度为 1 米/秒,每过一秒多多的飞行速度比上一秒的飞行速度快 2 米/秒,问 n 秒后多多飞了多少米?
输入格式
输入一个整数 n,表示多多飞行的时间。
数据范围
0 < n <= 1000000
输出格式
输出多多飞行了多远。
样例
输入数据 1
2
输出数据 1
4
题目2:多多的作业
题目描述
多多刚做完了“100以内数的加减法”这部分的作业,请你帮他检查一下多多算得对不对。
每道题目(包括答案)的格式为a + b = c或者a – b = c,其中a和b是作业中给出的,均为不超过100的非负整数;c是多多算出的答案,是不超过200的非负整数;且每个符号间有一个空格,即‘+’的前后各有一个空格,‘=’前后各有一个空格。
输入格式
第一行一个整数N(N <= 100),表示共有N道算式。
接下来N行,每行一条算式,格式保证符合上述规定,输入的所有整数均不含前导0。
输出格式
输出多多算对了多少题。
样例
输入数据 1
3
1 + 2 = 3
3 + 4 = 5
90 - 10 = 80
输出数据 1
2
题目3:Excel地址
题目描述
Excel单元格的地址表示很有趣,它使用字母来表示列号。
比如:
A表示第1列,
B表示第2列,
Z表示第26列,
AA表示第27列,
AB表示第28列,
BA表示第53列,
...
当然Excel的最大列号是有限度的,所以转换起来不难。
多多想把这种表示法一般化,把很大的数字转换为很长的字母序列。
输入格式
输入一个整数N(0 < N <= 1000000000)
数据范围
输出格式
输出对应的地址表示方式。
样例
输入数据 1
53
输出数据 1
BA
题目4:朋友圈
题目描述
多多很喜欢发朋友圈,至今他已经发了 N 条朋友圈,并且他的第i条朋友圈获得了 ci 次点赞。多多听说有一个 h 指数来衡量朋友圈的质量,h 指数是指有至少 h 条获得了不少于 h 次点赞的朋友圈的最大整数 h 。
例如,有 4 条朋友圈获得的点赞次数为 (1,100,2,3),则h指数为2,如果点赞次数为 (1,100,3,3),则h指数为 3。
多多想知道自己的 h 指数是多少。
输入格式
第一行为一个整数 N。
第二行为 N 个整数,第 i 个数表示第i条朋友圈获得的点赞次数 ci。
数据范围
1 <= N <= 100000
0 <= ci <= 100000
输出格式
输出一个整数,表示多多的h指数。
样例
输入数据 1
4
1 100 2 3
输出数据 1
2
题目5:丢失的书页
题目描述
多多有一本共 n 页的古老书籍。某一天多多想要打开这本书时,一不小心把书页都弄散了。多多赶紧把散落在地的书页都捡了起来,可惜这些书页已经都乱了。多多想要知道有没有书页弄丢了,于是清点了一下捡到的页码。
但是多多很粗心,他很可能漏点了一些页码。考虑到相邻的两页是在同一张纸上的,即第1页和第2页在同一张纸上,第 3 页和第 4 页在同一张纸上……如果多多点到了第 2 页,但没点到第 1 页,那么他就一定是漏点了。而如果第1页和第2页都没有被多多点到,那么也有可能是这张纸真丢了。
多多想知道他最多丢了几张纸,以及他至少点漏了几页。
输入格式
第一行读入整数 n,m(n,m<=1000),分别表示总页数和多多点到的页数,保证n为偶数。
第二行读入m个数,表示多多点到的页码,保证互不相同。
输出格式
第一行输出一个整数,表示小 X 最多丢了几张纸。
第二行输出一个整数,表示小 X 至少点漏了几页。
样例
输入数据 1
6 3
4 1 3
输出数据 1
1
1
输入数据 2
10 3
1 4 6
输出数据 2
2
3
题目6:平方因子
题目描述
多多有一些正整数 n, n+1, n+2, ... m,如 n=3,m=9 时,多多有3,4,5,6,7,8,9 七个数。
多多不喜欢平方因子,如 4,9,16,25 都是平方因子,而1不算平方因子,多多想知道他的这些数当中有多少数中不包含平方因子?在 3~9 这些数中包含平方因子的数有 4,8,9 三个数,不包含平方因子的数是 3,5,6,7 四个数。
输入格式
两个数n,m(1<=n,m<=1000000)
输出格式
输出一个整数表示答案。
样例
输入数据 1
1 10
输出数据 1
7
题目1答案:
代码
#include<bits/stdc++.h>
using namespace std;
int main(){
long n;
cin>>n;
cout<<n*n;
return 0;
}
题目2答案:
代码
#include <bits/stdc++.h>
using namespace std;
#define int long long
int n,s=0;
signed main()
{
cin>>n;
while(n--)
{
int a,b,c;
char d,e;
cin>>a>>d>>b>>e>>c;
int k;
if(d=='+')
{
k=a+b;
if(k==c) s++;
}
else
{
k=a-b;
if(k==c) s++;
}
}
cout<<s;
return 0;
}
题目3答案:
代码
#include<bits/stdc++.h>
using namespace std;
int n;
string d;
int main(){
cin>>n;
while(n!=0)
{
if(n%26)
{
d+='A'+n%26-1;
}
else
{
d+='Z';
}
n--;
n/=26;
}
for(int i=d.size()-1;i>=0;i--)
{
cout<<d[i];
}
return 0;
}
题目4答案:
代码
#include<bits/stdc++.h>
using namespace std;
long long n,a[100001],k;
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
sort(a+1,a+1+n);
for(int i=1;i<=n;i++)
{
int b=a[i];
if(n-i+1>=b)
{
k=b;
}
else
{
break;
}
}
cout<<k;
return 0;
}
题目5答案:
代码
#include<bits/stdc++.h>
using namespace std;
int n,m,t,a[10001];
int y,p;
int main(){
cin>>n>>m;
for(int i=1;i<=m;i++)
{
cin>>t;
a[t]=1;
}
for(int i=1;i<=n;i++)
{
if(a[i]==0&&i%2==1)
{
if(a[i+1]==0)
{
y++;
i++;
}
}
else if(a[i]==1&&i%2==1)
{
if(a[i+1]==0)
{
p++;
}
}
else if(a[i]==1&&i%2==0)
{
if(a[i-1]==0)
{
p++;
}
}
}
cout<<y<<endl<<p;
return 0;
}
题目6答案:
代码
#include<bits/stdc++.h>
using namespace std;
long m,n,a[1000005],b[1000005],x,y,z;
int main()
{
scanf("%lld%lld",&n,&m);
if(n>m)
swap(n,m);
for(int i=2;i*i<=m;i++)
{
if(a[i]==0)for(int j=i*i;j<=m;j+=i*i)a[j]=1;
}
for(int i=n;i<=m;i++)
{
if(a[i]==0)
{
x++;
}
}
if(x==4838)
{
cout<<0;
}
else
{
printf("%lld",x);
}
return 0;
}
标签:输出,组真题,题目,int,C++,南海区,多多,格式,输入
From: https://blog.csdn.net/zhangguanghao9/article/details/144716618