首页 > 其他 > 详细

洛谷3908 异或之和

时间:2018-10-18 20:39:55      阅读:161      评论:0      收藏:0      [点我收藏+]

原题链接

遇到这种数学题,像我这种数学很烂的当然是上来就打表啦。

//以下是前30个数的表。
     1 ->      1
     2 ->      3
     3 ->      0
     4 ->      4
     5 ->      1
     6 ->      7
     7 ->      0
     8 ->      8
     9 ->      1
    10 ->     11
    11 ->      0
    12 ->     12
    13 ->      1
    14 ->     15
    15 ->      0
    16 ->     16
    17 ->      1
    18 ->     19
    19 ->      0
    20 ->     20
    21 ->      1
    22 ->     23
    23 ->      0
    24 ->     24
    25 ->      1
    26 ->     27
    27 ->      0
    28 ->     28
    29 ->      1
    30 ->     31

很容易看出来有四种情况。

  1. \(n \% 4 = 0\),则答案为\(n\)
  2. \(n \% 4 = 1\),则答案为\(1\)
  3. \(n \% 4 = 2\),则答案为\(n + 1\)
  4. \(n \% 4 = 3\),则答案为\(0\)

我数学差,别问我为什么
于是很愉快的\(A\)了。

#include<cstdio>
using namespace std;
int main()
{
    long long n, x;
    scanf("%lld", &n);
    x = n % 4;
    printf("%lld", x ^ 3 ? !x ? n : x ^ 1 ? n + 1 : 1 : 0);
    return 0;
}

洛谷3908 异或之和

原文:https://www.cnblogs.com/Iowa-Battleship/p/9812942.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!