zzuli蓝桥 text1 I 平方和

根据1~n的平方和:

有  n*(n+1)*(2*n+1)/6;

推同余方程: (a*b)%d==(a%d+b%d)%d;

Description

给你两个数n和m,求从6开始到6*n的等差数列(差值为6)的每一项的平方的和除6模m的值

(例如n=2,m=3,所求的就是6的平方加上12的平方的和模3所得到的值)

Input

输入数据有多组,每组占一行,有两个整数,之间有空格。
(0<a,b<2147483648)

Output

对于每组输入数据,输出一行.

Sample Input

6 1000
88 100

Sample Output

546
64

AC代码:

#include <iostream>
using namespace std;
typedef long long ll;
int main (void)  
{  
	ll a;
    ll b;
    while (cin>>a>>b)
    {
        cout<<a%b*(a%b+1)*(2*a%b+1%b)%b<<endl;
    }  
    return 0;
}  



你可能感兴趣的:(zzuli蓝桥 text1 I 平方和)