ET


私信TA

用户名:wbc

访问量:22136

签 名:

我又双叒叕回来看了一眼

排  名 29
经  验 6556
参赛次数 3
文章发表 67
年  龄 0
在职情况
学  校 DLMU
专  业 网络工程

  自我简介:

C++兼容C,所以不要问为什么我所有的提交都是C++的.... 不AC,毋宁死,代码越短越好,思路越清奇越好hhhhhhhh

公式准备:

    (16 * x) % 15 = x

    (16 ^ n * x) % 15 = x

    (1+2+... ...+15) % 15 = 0

    (n + n+1 + n+2 + ... ... + n+x) % 15 = (1+2+... ...+x)%15 = (1+x) * x / 2 % 15


注意事项:

    为了让n%15>m%15,将n%15后+15


参考代码:

#include <iostream>

using namespace std;

int main() {
    long long int m, n;
    cin >> m >> n;
    m %= 15;
    n %= 15;
    n += 15;
    cout << ((n - m) + 1) * (m + n) / 2 % 15 << endl;
    return 0;
}


C语言网提供「C语言、C++、算法竞赛」在线课程,全部由研发工程师或ACM金牌退役选手亲自授课,以视频+配套题目的学练同步模式教学,强化动手,并提供增值服务!

  评论区

请问如果区间右端最大值为2(^64)-1,代码能通过吗
2019-03-29 17:41:52 | |
  • «
  • 1
  • »