2016

Problem Description:

给出正整数 n 和 m,统计满足以下条件的正整数对 (a,b) 的数量:

  1. 1≤a≤n,1≤b≤m;
  2. a×b 是 2016 的倍数。

Input:

输入包含不超过 30 组数据。

每组数据包含两个整数 n,m (1≤n,m≤109).

Output:

对于每组数据,输出一个整数表示满足条件的数量。

Sample Input:

32 63

2016 2016

1000000000 1000000000

Sample Output:

1

30576

7523146895502644

这题赛后发现还是可以做出来的,但比赛时看了近1小时都没思路,果然比赛时平常心很重要。

【题目链接】CSU 1803 2016

【题目类型】模运算

&题解:

可以求出在[1,N]中,模为[1,2016]的数的个数; 以及在[1,M]中,模为[1,2016]的数的个数。分别存进a b数组,

因为x ∗y%2016=x%2016 ∗y%2016,接下来判断(x%2016 ∗y%2016)%2016是否为0,如果是那么他们的情况就有a[i]*b[j]种(注意:这块一定要用ll,因为这块最大的话都是1e6,乘起来就是1e12,会爆int),最后相加,输出就好。

【时间复杂度】O(2016^2)

&代码:

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int INF = 0x3f3f3f3f;
#define cle(a,val) memset(a,(val),sizeof(a))
#define SII(N,M) scanf("%d %d",&(N),&(M))
#define rez(i,a,b) for(int i=(a);i<=(b);i++)
#define PI(A) cout<<(A)<<endl;
const int MAXN = 2016 + 5 ;
int a[MAXN],b[MAXN];
int n,m;
void Solve()
{
while(~SII(n,m))
{
cle(a,0),cle(b,0);
rez(i,1,2016) a[i]=n/2016;
rez(i,1,2016) b[i]=m/2016;
rez(i,1,n%2016) a[i]++;
rez(i,1,m%2016) b[i]++;
ll ans=0;
rez(i,1,2016)
rez(j,1,2016)
{
if (i*j%2016==0)
ans+=(ll)a[i]*b[j];
}
PI(ans)
}
}
int main()
{
Solve();
return 0;
}

CSU 1803 2016(数论)的更多相关文章

  1. CSU 1803 2016 湖南省2016省赛

    1803: 2016 Submit Page   Summary   Time Limit: 5 Sec     Memory Limit: 128 Mb     Submitted: 1416    ...

  2. 【模拟】【数学】CSU 1803 2016 (2016湖南省第十二届大学生计算机程序设计竞赛)

    题目链接: http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1803 题目大意: 给定n,m(n,m<=109)1<=i<=n,1& ...

  3. CSU 1803 - 2016 - [同余]

    题目链接:http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1803 给出正整数 n 和 m,统计满足以下条件的正整数对 (a,b) 的数量: 1. ...

  4. CSU 1803 2016

    湖南省第十二届大学生计算机程序设计竞赛$A$题 枚举. 处理一下$\% 2016$之后的数分别有几个,然后$2016*2016$枚举一下统计方案数就可以了. #pragma comment(linke ...

  5. CSU - 1803 —— 数学题

    题目链接:http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1803 Description  给出正整数 n 和 m,统计满足以下条件的正整数对 ...

  6. 十二届 - CSU 1803 :2016(同余定理)

    题目地址:http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1803 Knowledge Point: 同余定理:两个整数a.b,若它们除以整数m所 ...

  7. csu 1803(余数分类)

    1803: 2016 Time Limit: 5 Sec  Memory Limit: 128 MBSubmit: 565  Solved: 364[Submit][Status][Web Board ...

  8. 【CSU 1803】2016

    http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1803 Solution: 考虑两个数x,y乘积%2016=0 x×y≡0(MOD 2016) x= ...

  9. 【CSU 1803】2016 (数学)

    Description 给出正整数 n 和 m,统计满足以下条件的正整数对 (a,b) 的数量: 1. 1≤a≤n,1≤b≤m; 2. a×b 是 2016 的倍数. Input 输入包含不超过 30 ...

随机推荐

  1. P141 实战练习——字符串(修改后)

    1.在项目中创建Number类,判断字符串“mingrikejijavabu”中字符‘i’出现了几次,并将结果输出. 方法一: // String str="mingrikejijavabu ...

  2. Python字符串操作

    isalnum()判断是否都是有效字符串 >>> ev1 = 'evilxr' >>> ev2 = 'ev1il2xr3' >>> ev3 = ' ...

  3. hdu5441(2015长春赛区网络赛1005)类最小生成树、并查集

    题意:有一张无向图,一些点之间有有权边,某条路径的值等于路径上所有边的边权的最大值,而某个点对的值为这两点间所有路径的值的最小值,给出多个询问,每个询问有一个值,询问有多少点对满足其值小于等于询问值. ...

  4. 通过laravel理解IoC(控制反转)容器和DI(依赖注入)

    原文地址: http://www.insp.top/learn-laravel-container ,转载务必保留来源,谢谢了! 容器,字面上理解就是装东西的东西.常见的变量.对象属性等都可以算是容器 ...

  5. 安装了iis之后,打开默认网站http://localhost/要求输入用户名和密码解决办法

        开始-运行gpedit.msc回车.     计算机配置--管理模板-windows 组件-Internet Exporer-Internet控制面板-安全页-Internet区域:双击登陆选 ...

  6. ps色阶

    三原色

  7. C++仿函数和typename的用法

    1.仿函数的定义是很简单的,就是一个重载了括号()运算符的类,也被称为函数对象. 主要是用于个性化扩展算法对象.stl中实现了好多算法,每个算法都可以完成日常的大部分工作,设计者还允许你在这些强大的算 ...

  8. 内存泄漏,当您使用的 GetDC 方法和 ReleaseDC 方法 CWnd 类版本

    重现行为的步骤 是从 CWnd 派生的类的一个方法中插入下面的代码在您的应用程序中: CDC *pDC; RECT rect; GetClientRect (&rect); for (int ...

  9. 使得<li>在一行显示,去除浮动的方法

    ①<li>使用浮动的方法,但是要用div包裹起来,该父元素需要设置宽度与高度: <!DOCTYPE html> <html> <head> <me ...

  10. ECS修改默认端口22及限制root登录

    首先要创建一个用户,用系统默认的www用户也可以(这里不介绍如何创建用户) 接下来要修改www的密码: passwd www 执行此命令后会让你输入两次密码.这样就设置好了. 然后进入: vi /et ...