2020CSP普及组初赛完善程序

2020CSP普及组初赛完善程序

完善程序

1.(质因数分解)

给出正整数 n,请输出将 n 质因数分解的结果,结果从小到大输出。 例如:输入 n=120,程序应该输出 2 2 2 3 5,表示:120 = 2 × 2 × 2 × 3 × 5。输入保证 \(2≤n≤10^9\)。提示:先从小到大枚举变量 i,然后用 i 不停试除 n来寻找所有的质因子。

试补全程序

#include <cstdio>
using namespace std;
int n, i;

int main() {
  scanf("d", &n);
  for(i = ①; ② <=n; i ++){
    ③{
      printf("%d ", i);
      n = n / i;
    }
  }
  if(④)
    printf("%d ", ⑤);
  return 0;
}

1)①处应填( )

2)②处应填( )

3)③处应填( )

4)④处应填( )

5)⑤处应填( )

A. 1

B. n-1

C. 2

D. 0

A. n / i

B. n / (i * i)
C. i * i

D. i * i *i

A. if(n%i==0)

B. if(i * i <= n)

C. while(n%i==0)

D. while(i*i<=n)

A. n>1

B. n<=1

C. i<n/i

D. i+i<=n

A. 2

B. n/i

C. n

D. i

2.(最小区间覆盖)

给出 n 个区间,第 i 个区间的左右端点是\([a_i,b_i]\)。现在要在这些区间中选出若干个,使得区间 [0, m] 被所选区间的并覆盖(即每一个 0≤i≤m 都在某个所选的区间中)。保证答案存在,求所选区间个数的最小值。

输入第一行包含两个整数 n 和 m ( \(1≤n≤5000,1≤m≤10^9\)) 接下来 n 行,每行两个整数 (\(0≤a_i,b_i≤m\))。

提示:使用贪心法解决这个问题。先用 \(O(n^2)\)的时间复杂度排序,然后贪心选择这些区间。

试补全程序。

#include <iostream>

  using namespace std;

  const int MAXN = 5000;
  int n, m;
  struct segment { int a, b; } A[MAXN];

  void sort() // 排序
  {
    for (int i = 0; i < n; i++)
    for (int j = 1; j < n; j++)
    if (①)
        {
          segment t = A[j];
          ②
        }
  }

  int main()
  {
    cin >> n >> m;
    for (int i = 0; i < n; i++)
      cin >> A[i].a >> A[i]?b;
    sort();
    int p = 1;
    for (int i = 1; i < n; i++)
      if (③)
        A[p++] = A[i];
    n = p;
    int ans =0, r = 0;
    int q = 0;
    while (r < m)
    {
      while (④)
        q++;
      ⑤;
      ans++;
    }
    cout << ans << endl;
    return 0;
  }

1)①处应填( )

2)②处应填( )

3)③处应填( )

4)④处应填( )

5)⑤处应填( )

A. A[j].b>A[j-1].b

B. A[j].a<A[j-1].a

C. A[j].a>A[j-1].a

D. A[j].b<A[j-1].b

A. A[j+1]=A[j];A[j]=t;

B. A[j-1]=A[j];A[j]=t;

C. A[j]=A[j+1];A[j+1]=t;

D. A[j]=A[j-1];A[j-1]=t;

A. A[i].b>A[p-1].b

B. A[i].b<A[i-1].b

C. A[i].b>A[i-1].b

D. A[i].b<A[p-1].b

A. q+1<n&&A[q+1].a<=r

B. q+1<n&&A[q+1].b<=r

C. q<n&&A[q].a<=r

D. q<n&&A[q].b<=r

A. r=max(r,A[q+1].b)

B. r=max(r,A[q].b)

C. r=max(r,A[q+1].a)

D. q++

posted @ 2022-06-09 15:38  new-code  阅读(247)  评论(0)    收藏  举报