Skip to content

L1-16 阶段测试

A 有几本书

1.0 秒 128MB 100 分

在图书馆里,科技书比漫画书多n本,科技书的本数是漫画书的4倍少30本,科技书和漫画书各有多少本?

答案保证为整数。

小华为了求出两种书的本数,编写了如下代码:

但代码中有一个地方写错了,请你帮他修改一下。

注:你需要将正确的代码写在答题区域,并提交以验证正确性。

输入

在一行输入一个正整数n(3<=n<=10000;n必须是3的倍数)

输出

在一行输出科技书和漫画书各有多少本,中间用空格隔开

输入样例

c++
150

输出样例

c++
210 60

数据范围

对于25%的数据: 3 <= n <= 100

对于50%的数据: 3 <= n <= 500

对于75%的数据: 3 <= n <= 1000

对于100%的数据: 3 <= n <= 10000

c++
#include <bits/stdc++.h>
using namespace std;
int main(){
    int n, a, b;
    cin >> n;
    b = (n + 30) / 3;
    a = b + n;
    cout << a << ' ' << b << endl;
    return 0;
}

B 写作小组

2.0 秒 128MB 100分

光明小学六年二班有n个人,参加了数学活动小组的人数是a,写作小组和数学活动小组两项都参加的人数是b,两项都没有参加的人数是c,有多少人参加了写作小组?

小明为了求解这个问题,编写了如下代码:

但代码中有一个地方写错了,你帮他修改一下。

注:你需要正确代码写在答题区域,并提交以验证正确性。

输入

在一行输入正整数n(n <=10000),a,b,c(a,b,c <= n且b<=a),中间用空格隔开。

输出

输出有多少人参加了写作小组

输入样例

c++
35 20 11 6

输出样例

c++
20

数据范围

对于25%的数据: 0 < n <= 100

对于50%的数据: 0 < n <= 500

对于75%的数据: 0 <n <= 5000

对于100%的数据: 0 < n <= 10000

参考答案

c++
#include <bits/stdc++.h>
using namespace std;
int main(){
    int n, a, b, c;
    cin >> n >> a >> b >> c;
    int ans = n - a - c + b;
    cout << ans << endl;
    return 0;
}

C 兴趣小组

1.0 秒 128MB 100分

育才小学四年级二班共有n人,其中参加语文兴趣小组的有a个人,参加数学兴趣小组的有b个人,两者都参加的有c个人,那么有多少人两个小组都没有参加?

输入

在一行输入正整数n (0 < n <=10000) a b c (a,b,c <= n 且 c < min(a,b))

输出

输出有多少人两个兴趣小组都没有参加

输入样例

c++
46 21 18 9

输出样例

c++
16

数据范围

对于25%的数据: 0 < n <= 100

对于50%的数据: 0 < n <= 500

对于75%的数据: 0 < n <= 5000

对于100%的数据: 0 < n <= 10000

参考答案:

c++
#include <bits/stdc++.h>
using namespace std;
int main(){
    int n, a, b, c;
    cin >> n >> a >> b >> c;
    int ans = n - (a + b - c);
    cout << ans << endl;
    return 0;
}

D 年龄段判断

1.0 秒 131,072.0 KB

输入一个整数n(保证范围在0到25之间),表示一个人的年龄。

如果n在0~3的范围内,输出"infant"。

如果n在4~12的范围内,输出"child"。

如果n在13~18的范围内,输出"youngster"。

如果n在19~25的范围内,输出"youth"。

输入

一个整数(范围在0到25之间)

输出

一个英文单词,如题目描述所述。

输入样例

text
3

输出样例

text
infant

参考答案:

c++
#include <bits/stdc++.h>
using namespace std;
int main(){
    int a;
    cin >> a;
    if (a <= 3){
        cout << "infant" << endl;
    } else if (a <= 12){
        cout << "child" << endl;
    } else if (a <= 18){
        cout << "youngster" << endl;
    } else {
        cout << "youth" << endl;
    }
    return 0;
}

E 启蒙练习-直角三角形

1.0 秒 131,072.0 KB

勾股定理举世闻名,当整数 a,b,c 满足 a2+b2=c2 时,以 a,b,c 为三边的三角形即为直角三角形。 请你设计一个程序,读入 a,b,c 三个整数(其中 a<b<c),如果 a,b,c 构成直角三角形则输出 1, 否则输出 0

输入

输入三个整数 a,b,c,以空格隔开。

输出

输出 011 代表 a,b,c 能构成直角三角形,0 代表不能。

数据范围

对于 100% 的数据,0<a<b<c<120

输入样例

text
5 12 13

输出样例

text
1

参考答案:

c++
#include <bits/stdc++.h>
using namespace std;
int main(){
    int a, b, c;
    cin >> a >> b >> c;
    if (a > b) swap(a, b);
    if (a > c) swap(a, c);
    if (b > c) swap(b, c);
    if (a * a + b * b == c * c) {
        cout << 1 << endl;
    } else {
        cout << 0 << endl;
    }
    return 0;
}

F 循环判断输出

1.0 秒 128 MB

输入一个正整数 n(3<=n<=100000)

输出 3,6,9,...,即输出所有 n3 的倍数。

从小到大依次输出,只考虑 3 的正整数倍,每行一个数字。

输入

一行一个整数 n

输出

输出若干行,每行一个 3 的倍数。

输入样例

text
10

输出样例

text
3
6
9

参考答案

c++
#include <bits/stdc++.h>
using namespace std;
int main(){
    int n;
    cin >> n;
    for (int i = 3; i <= n; i += 3){
        cout << i << endl;
    }
    return 0;
}