第一次发贴,格式不对请多多原谅。
想请教各位大牛,我是编程初学者。碰到这个题目,在数字较小时,我的程序是写对的,但是它这个大数字,取模操作,该程序又应该怎么写呢?谢谢!
下面是题目下方:
==============================================================
网格(grid)
【问题描述】
有一个 n*m 的网格,你需要求出网格中有多少个正方形和多少个长方形(不包括正方形)。例如:当 n=2,m=3 时,网格形如下图:
其中,1*1 的正方形共有 6 个,2*2 的正方形共有 2 个,所以正方形有 8 个。1*2的长方形有 7 个,1*3 的长方形有 2 个,2*3 的长方形有 1 个,所以长方形有 10 个。
由于答案可能会超出 64 位整数范围,你需要输出答案对 1000000007(10^9+7) 取模
的结果。
【输入格式】
一行两个整数 n 和 m。
【输出格式】
一行两个整数,分别表示正方形的数量与长方形的数量对 1000000007 取模的结果。
【输入输出样例】
样例输入1
2 3
样例输出 1
8 10
样例输入2
100 75
样例输出 2
214700 14177800
样例输入3
114514 1919810
样例输出 3
952234331 997363822
【数据范围】
对于 20%的数据,n,m<=3;
对于 40%的数据,n,m<=100;
对于 60%的数据,n,m<=5000;
对于 80%的数据,n,m<=100000;
对于所有数据,1<=n,m<=10^9。
注意:
答案需要对 1000000007 取模,并且模意义下不能直接进行除法运算,例如1000000008 除以 2 的结果是 500000004,1000000008 对 1000000007 取模的结果为 1,将 1 直接除以 2 并不能得到 500000004。