#691. LG2024TG-18

LG2024TG-18

  1. (阅读程序)
#include <bits/stdc++.h>
using namespace std;
unsigned f(unsigned x){
  x^=x<<3;
  x^=x>>5;
  return x;
}
unsigned g(unsigned x){
  return (x>>5)^(x>>2)^x^(x<<3);
}
int main(){
  unsigned y,l,r;
  cin>>y>>l>>r;
  for(unsigned long long i=l;i<=r;i++) //第14行
    if(f(i)==y)
      cout<<i%11<<endl;
  return 0;
}

除第 1 题外,假设输入的 y,l,r 均为不超过 23212^{32}-1 的非负整数,完成下面的判断题和单选题。

(判断题)

若输入 2024 1 -1,那么程序将不会输出任何数字。( )

{{ select(1) }}

若把第 14 行 i 的类型改为 unsigned int,则程序可能无法结束运行。( )

{{ select(2) }}

对于所有符合要求的输入,输出的数字不可能超过一个。( )

{{ select(3) }}

(选择题)

若从所有 unsigned int 当中随机均匀选取一个 x,则 f(x)=g(x) 成立的概率和( )的差最小。

{{ select(4) }}

  • 0
  • 1/15
  • 1/2
  • 1

(4分)定义 fn(x)f^n(x) 表示对 x 用函数 f 作用 n 次的结果,例如 f2(x)=f(f(x))f^2(x)=f(f(x))。假设 unsigned 类型具有 w 个二进制位,且已知存在某种计算 fn(x)f^n(x) 的算法的时间复杂度为 O(T(n)P(w))O(T(n)P(w)),其中 P(w)P(w) 是一个关于w 的幂函数。则 T(n)T(n) 最小是( )

{{ select(5) }}

  • O(1)O(1)
  • O(logn)O(logn)
  • O(log2n)O(log^2n)
  • O(n)O(n)

当输入为 50 1 4294967295 时,输出的第一个数是( )

{{ select(6) }}

  • 1
  • 8
  • 9
  • 10