ACM:ZOJ Problem Set

来源:互联网 发布:魔兽世界 芒果源码 编辑:程序博客网 时间:2024/04/30 00:46
// @Author Jsen// @Version V1.0.0// @Date 2017/05/02// ZOJ Problem Set - 3903// Ant// http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3903// 学习取模,逆元// 学习 typedef 学习 long long// a1^2 + a2^2 + .... + an^2 = n(n+1)(2n+1)/6// a1^3 + a2^3 + .... + an^3 = (n(n+1))^2/4// 取模逆元(参考费马小定理):作用:将除法转为乘法(同余)// a/b%p  b*c%p === 1 则c为b的逆元,有 a/b%p === a*c%p// 结论公式// (13 * n^4 + 26 * n^3 + 17 * n^2 + 4 * n) / 12#include <stdio.h>typedef long long LL;#define MOD 1000000007ll//  12 的 MOD 逆元#define NI 83333334llint main() {int CASE;scanf("%d", &CASE);LL A, B;for(int i = 0; i<CASE; i++) {scanf("%lld", &A);A %= MOD;B = (A*A) % MOD;printf("%lld\n", ((13 * (B * B % MOD) % MOD) + (26 * (B * A % MOD) % MOD) +(17 * B % MOD) +(4 * A % MOD)) % MOD * NI % MOD);}return 0;}

0 0
原创粉丝点击