NOJ——1658平方和(自然数平方和公式和取模法则)

  • [1658] 平方和

  • 时间限制: 1000 ms 内存限制: 65535 K
  • 问题描述
  • 给你两个数n和m,求从6开始到6*n的等差数列(差值为6)的每一项的平方的和除6模m的值

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

  • 输入
  • 输入数据有多组,每组占一行,有两个整数,之间有空格。
    (0<a,b<2147483648)
  • 输出
  • 对于每组输入数据,输出一行.
  • 样例输入
  • 6 1000
    88 100
  • 样例输出
  • 546
    64
    

    无语,比赛的时候做起来感觉是有那么个平方和公式的意思,然而第一我只是见过,第二当时觉得并不存在- -|||,然后就没然后了..当时就放弃了..,其他嘛就知道下取模的运算法则即可(a*b)%c=(a%c * b%c)%c。

    #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;
    }  
    


     

     

  • 你可能感兴趣的:(NOJ——1658平方和(自然数平方和公式和取模法则))