#B4354. [GESP202406模拟 二级T1] 勾股数

[GESP202406模拟 二级T1] 勾股数

题目描述

[GESP202406模拟 二级T1] 勾股数。本题为客观题,请在页面中按题号依次作答。题目正文、选项、图片或代码片段以页面显示为准。

题目内容

题目描述

[GESP202406模拟 二级T1] 勾股数。本题为客观题,请在页面中按题号依次作答。题目正文、选项、图片或代码片段以页面显示为准。

题目内容

一、单项选择题(共 15 题,每题 2 分,共计 30 分;每题有且仅有一个正确选项)

  1. 以下选项中,符合 C++ 变量命名规则的是( )? {{ select(1) }}
  • Love!Luogu
  • 012AB
  • __GESP
  • P(AB)
  1. 下图为“5050 米跑步”评分流程图。若需满足:时间(tt)小于等于 77 秒为优秀;7799 秒为良好,大于 99 秒为需努力,则 A 处和 B 处分别应当填写( )?

    {{ select(2) }}

  • t>7t<=7
  • t<=7t>7
  • t>=9t<=7
  • t<=9t<=7
  1. C++ 语言中,变量 xx 为以下哪项时,可以使得表达式 sqrt(x) == abs(x) 成立?( ) {{ select(3) }}
  • 11
  • 22
  • 33
  • 44
  1. 一个正整数 nn 的双阶乘为不超过这个正整数且与它有相同的奇偶性的所有正整数的乘积,例如 5!!=1×3×5=155!!=1\times 3\times 5=15。以下 C++ 代码用于求解计算 n(n25)n(n \leq 25) 的双阶乘,横线处应当填写( )?

    long long ans = 1;
    for (int i = 1; i <= n; i++) {
        if (________)
            ans *= i;
    }
    cout << ans << endl;
    ```cpp
    

{{ select(4) }}

  • n % i == 0
  • n % i == i % n
  • n % 2 == i
  • n % 2 == i % 2
  1. 现需要输出一个边长为 nn 的,由字符 * 构成的等腰直角三角形,例如:当 n=4n=4 时如下图所示:

       *
      **
     ***
    ****
    ```cpp
    以下 C++ 代码用于求解该问题,则横线处应当填入的代码为( )?
    
    ```cpp
     int n;
     cin >> n;
     for (int i = 1; i <= n; i++) {
         for (________)
             cout << ' ';
         for (int j = 1; j <= i; j++)
             cout << '*';
         cout << endl;
     }
    ```cpp
    

{{ select(5) }}

  • int j = 1; j <= n - i; j++
  • int j = 1; j <= i; j++
  • int j = 1; j <= i; i++
  • int j = 1; j <= n - i; i++
  1. 下列 C++ 代码用于计算正整数 nn 各位数之和的立方,保证 1n10181 \leq n \leq 10^{18}。下面对于该代码,错误的说法是( )?
long long n, ans = 0;
cin >> n;
while (n > 0) {
    int x = n % 10;
    n /= 10;
    ans += x;
}
cout << ans * ans * ans << endl;
```cpp
 {{ select(6) }}
  -  变量 `ans` 定义为 `int` 类型,不会影响程序的输出结果。
  -  该程序的 `while` 循环可以改写为 `for` 循环。
  -  该程序的循环一共要执行 $n$ 次。
  -  当 $n=12345$ 时,输出为 $3375$。

7. 下列代码用于判断一个不超过 $10^9$ 的正整数 $n$ 是否能被 $38$ 整除且出现过 $38$。对于该代码,错误的说法是( )?

  ```cpp
  int n; cin >> n;
  bool flag = 0;
  if (n % 38 == 0) flag = 1;
  while (n) {
      if (n % 100 == 38) {
          flag = 1;
          break;
      }
      n /= 10;
  }
  if (flag)
      cout << "Yes" << endl;
  else
      cout << "No" << endl;
  ```cpp
{{ select(7) }}
-  该代码不存在语法问题,可以正常编译运行,且输出结果能达成预期。
-  该程序的 `while` 循环用于判断正整数 $n$ 中是否出现过 $38$。
-  若删除 `break` 语句,不影响程序的输出结果。
-  若误输入了负数 $n$,程序不会陷入死循环。

8. 小洛编写了一个程序,用于练习加法。他的程序能生成两个随机自然数,小洛需要计算出这两个数的和。小洛需要正确计算 $5$ 次程序才会退出。他的程序如下所示。对于该代码,错误的说法是( )?

  ```cpp
  srand(time(0));
  int tot = 0;
  while (tot <= 5) {
      int a = rand() % 10, b = rand() % 10, x;
      cout << a << "+" << b << "=";
      cin >> x;
      if (a + b == x) {
          cout << "Correct!" << endl;
          tot++;
      } else
          cout << "Wrong!" << endl;
  }
  cout << "Finish!" << endl;
  ```cpp
{{ select(8) }}
-  `srand(time(0))` 的意思是,以当前的系统时间作为初始种子,初始化随机数生成器。
-  间隔一段时间运行该代码,`rand()` 函数可以产生不同的随机数数列。
-  该代码中存在错误,会使得小洛实际需要正确计算 $6$ 次才会退出程序。
-  每次计算加法时的变量 $a$ 和 $b$ 必然不可能为相同的数。

9. 已知 `A` 的 ASCII 码为 $65$,`a` 的 ASCII 码为 $97$。则以下哪一行代码可以完成将输入的大写字母字符 `ch` 转化为小写字母后并输出?( )
{{ select(9) }}
-  `cout << char(ch+32);`
-  `cout << char(ch+'32');`
-  `cout << char(ch+int('A')-int('a'));`
-  `cout << char(ch+'97');`

10. 下面 C++ 代码,若输入 $n=12$,则运行后输出是( )?

   ```cpp
   int n, ans = 0;
   cin >> n;
   for (int i = 1; i <= n; i++) {
      for (int j = i; j >= 1; j--) {
          if (i % j == 0 && n % j == 0) {
              ans += j;
              break;
          }
      }
   }
   cout << ans << endl;
   ```cpp
   {{ select(10) }}
-  $12$
-  $28$
-  $40$
-  $60$

11. 下面 C++ 代码,若输入 $n=12$,则运行后输出是( )?
```cpp
int n, ans = 0;
cin >> n;
for (int i = 1; i <= n; i++) {
  int p = 0;
  for (int j = i; j >= 1; j--) {
      int k = j;
      for (; k >= 1; k--) {
          if (i % k == 0 && j % k == 0)
              break;
      }
      if (k == 1) p++;
  }
  ans += p;
}
cout << ans << endl;
```cpp
{{ select(11) }}

 -  $4$
 -  $10$
 -  $32$
 -  $46$

12. 下面 C++ 代码,若输入 $n=12$,则运行后输出是( )?

```cpp
int n, tot = 0, i;
cin >> n;
for (i = 2; tot < n; i++) {
   bool flag = true;
   for (int j = 2; j <= i - 1; j++) {
       if (i % j == 0) {
           flag = false;
           break;
       }
   }
   if (flag) tot++;
}
cout << i - 1 << endl;
```cpp
{{ select(12) }}
-  $29$
-  $31$
-  $37$
-  $41$

13. CCF CSP 非专业组所采用的评测机 CPU 具体介绍如下:

   | 参数  | 数据  |
   | --- | --- |
   | 名称  | Intel Core i7-8700K |
   | 主频  | 3.7GHz |
   | 一级缓存 | 384KB |
   | 二级缓存 | 1.5MB |
   | 三级缓存 | 12MB |

   该评测机有 32GB 的内存。在上述所提到的所有可以用于数据存储的硬件中,存取数据最快的是( )?
{{ select(13) }}
-  一级缓存
-  二级缓存
-  三级缓存
-  内存

14. 大晨老师要为班级同学讲解计算机网络知识,其中有一段内容如下:

   > IPv4 协议采用 $32$ 位地址,一共能够提供约 $A$ 个地址空间。随着互联网的不断发展,地址不断地被分配,地址资源日趋枯竭。因此,它正逐渐被使用 $B$ 位地址的 IPv6 协议所取代。

   以上的 $A$ 和 $B$ 分别应当填入( )?

{{ select(14) }}
-  $2^{31}$,$64$
-  $2^{31}$,$128$
-  $2^{32}$,$64$
-  $2^{32}$,$128$

15. 计算机界的最高奖项是( )?
{{ select(15) }}
-  诺贝尔奖
-  图灵奖
-  菲尔兹奖
-  CCF 终身成就奖

## 二. 判断题(每题 2 分,共 20 分)

16. `78.12.123.95` 是一个合法的 B 类 IPv4 地址。
 {{ select(16) }}

- 正确
- 错误
17. FTP 协议是一种应用层协议,可以用于进行远程文件传输。
 {{ select(17) }}

- 正确
- 错误
18. 高级语言比汇编语言程序更容易从一种计算机上移植到另一种计算机上。
 {{ select(18) }}

- 正确
- 错误
19. 在 C++ 语言中,使用 STL 函数 `c=max(a,b)` 求解变量 $a,b$ 中的最大值时,若 $a$ 为 int 类型,而 $b$ 为 long long 类型,程序也可以正常运行。
 {{ select(19) }}

- 正确
- 错误
20. 在 C++ 语言中,执行下列代码的结果为 $34$。

  ```cpp
  int ans = 0;
  for (int i = 1; i <= 50; i++)
      ans += !!(i % 3);
  cout << ans << endl;
  ```cpp
 {{ select(20) }}

- 正确
- 错误
21. 在 C++ 语言中,下列代码可以正常执行,输出一个实数。

  ```cpp
  cout << sqrt(-1) << endl;
  ```cpp
 {{ select(21) }}

- 正确
- 错误
22. 在 C++ 语言中,循环可以进行多层嵌套。循环层数嵌套多的代码,运行速度一定比层数嵌套少的代码慢。
 {{ select(22) }}

- 正确
- 错误
23. $A$ 和 $B$ 是两个布尔类型表达式,则在 C++ 语言下,`!(A && B)` 与 `(!A) || (!B)` 等价。
 {{ select(23) }}

- 正确
- 错误
24. 在 C++ 语言中,可以定义一个名叫 `cin` 的变量名。
 {{ select(24) }}

- 正确
- 错误
25. 已知:在 C++ 语言中,执行下列代码可以计算得到圆周率 $\pi$ 的近似值。

   你需要判断这一句话的正误:如果将 `eps` 的定义改为 `const double eps=1e-6;`,计算得到的 $\pi$ 更精确。

   ```cpp
   const double eps = 1e-3;
   int main() {
       int sign = 1, n = 1;
       double ans = 0, term = 1;
       while (abs(term) >= eps) {
           ans += term;
           n += 2;
           sign = -sign;
           term = sign / (1.0 * n);
       }
       cout << fixed << setprecision(8) << ans * 4 << endl;
       return 0;
   }
   ```cpp
{{ select(25) }}

- 正确
- 错误

## 输入格式

本题没有标准输入。

## 输出格式

本题没有标准输出,请在交互式作答区域选择或填写答案。

```input1

```cpp
```output1

```cpp
## 数据范围与提示

- 本题为 GESP 客观题,包含单选题、判断题等页面作答题型。
- 请按页面中的 `select` 作答区域提交答案;无需编写读取标准输入、输出标准输出的程序。
- 题面中的图片、代码片段和选项以页面显示为准。

## 来源

GESP202406模拟 二级T1


## 输入格式

本题没有标准输入。

## 输出格式

本题没有标准输出,请在交互式作答区域选择或填写答案。

```input1


数据范围与提示

  • 本题为 GESP 客观题,包含单选题、判断题等页面作答题型。
  • 请按页面中的 select 作答区域提交答案;无需编写读取标准输入、输出标准输出的程序。
  • 题面中的图片、代码片段和选项以页面显示为准。

来源

GESP202406模拟 二级T1