SCP-S关于ull类型的上溢
查看原帖
SCP-S关于ull类型的上溢
549521
boy♂Next♂dooor楼主2024/8/30 16:19

假设输入的 y,l,r 均为不超过 ?^ ?? − ? 的非负整数,

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

解析说:√ 因为r=2^32-1时刚好溢出

然而我本地输入80 4294967290 4294967295 正常结束

#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;
 unsigned n=0;
 for (unsigned long long i = l; i <= r; i++)//14行
    if (f(i) == y) 
        cout << i % 11 << endl;

 return 0;
 }
2024/8/30 16:19
加载中...