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;
}  
posted @ 2016-02-27 22:54  Blackops  阅读(638)  评论(0编辑  收藏  举报