CSU1803 2016(同余)
2017-08-20 15:31
411 查看
#include <iostream> #include <cstdio> #include <cstring> using namespace std; typedef long long LL; /* 同余 题意:求满足a * b 是 2016的倍数的对数, 1<= a <=n, 1<= b <=m; a[i]表示0-n之间的每个数对2016取余,余数为i的个数 (a*b)%2016==(a%2016)*(b%2016) a=2016*k+x b=2016*k+y; a*b%2016==0 => x*y%2016==0 */ const int maxn=2016+5; LL a[maxn],b[maxn]; LL n,m; LL ans; int main() { while(~scanf("%lld %lld",&n,&m)) { memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); //预处理余数为i的个数 for(int i=0;i<2016;i++) { a[i]=n/2016; b[i]=m/2016; } for(int i=1;i<=n%2016;i++) a[i]++; for(int j=1;j<=m%2016;j++) b[j]++; ans=0; //x*y%2016==0 for(int i=0;i<2016;i++) { for(int j=0;j<2016;j++) { if(i*j%2016==0) { ans+=a[i]*b[j]; } } } printf("%lld\n",ans); } return 0; }
相关文章推荐
- 2016-CSU1803(同余公式)
- CSU1803 2016 同余
- csu1803——2016(数学)
- CSU 1803 2016(思维)
- CSU 1803 2016 (逆向思维)
- CSU 1803 2016
- CSU 1803 2016(思维)
- CSU 1803 2016
- CSU 1803:2016解题报告
- CSU 1803 2016(思维)
- CSU 1803 2016【湖南省第十二届大学生计算机程序设计竞赛 A题】
- CSU 1803 2016(思维)
- CSU 1803 2016 【枚举】
- 【模拟】【数学】CSU 1803 2016 (2016湖南省第十二届大学生计算机程序设计竞赛)
- CSU-1803: 2016 ,同余定理!
- CSU 1803 2016(思维)
- CSU 1803 a×b 是 2016 的倍数(枚举)
- CSU 1803 2016(16湖南省赛)(同余定理)
- [CSU 1803 2016]数学
- 【模拟】【数学】CSU 1803 2016 (2016湖南省第十二届大学生计算机程序设计竞赛)