公式准备:
(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; }
0.0分
1 人评分
简单的for循环浏览:1495 |
C语言程序设计教程(第三版)课后习题6.8 (C++代码)浏览:614 |
1908题解浏览:680 |
矩形面积交 (C++代码)浏览:1204 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:438 |
震宇大神的杀毒软件 (C语言代码)浏览:1161 |
钟神赛车 (C语言代码)浏览:665 |
良心推荐——>题解1049:C语言程序设计教程(第三版)课后习题11.1 (C语言描述——简单明了,时间复杂度低)浏览:1318 |
盐水的故事 (C语言代码)浏览:1601 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:608 |
ET 2019-03-29 22:10:26 |
数据范围:1 <= m <= n <= 1000000000000
tianmaxk 2019-03-30 19:55:35 |
题目的范围,我知道是右端最大为1000000000000。我的意思是如果改成2(^64)-1,代码能通过吗