题目描述
小 A 写了一个 N×M 的矩阵 A,我们看不到这个矩阵,但我们可以知道,其中第 i 行第 j 列的元素 Ai,j 是 i 和 j 的 公倍数(i=1,…,N,j=1,…,M)。现在有 K 个小朋友,其中第 k 个小朋友想知道,矩阵 A 中最多有多少个元素可以是 k(k=1,2,…,K)。请你帮助这些小朋友求解。
注意:每位小朋友的答案互不相关,例如,有些位置既可能是 x,又可能是 y,则它同可以时满足 x,y 两名小朋友的要求。
方便起见,你只需要输出 ∑k=1Kk×ansk 即可,其中 ansk 表示第 k 名小朋友感兴趣的答案。
输入格式
一行三个正整数 N,M,K。
输出格式
输出一行,即 ∑k=1Kk×ansk。
请注意,这个数可能很大,使用 C++ 语言的选手请酌情使用long long 等数据类型存储答案。
输入输出样例
输入 #1
2 5 2
输出 #1
9
输入 #2
100 100 100
输出 #2
185233
说明/提示
样例 1 解释
只有 A1,1 可以是 1,其余都不行。 A1,1,A1,2,A2,1,A2,2 都可以是 2,而其余不行。
因此答案是 1×1+2×4=9。
数据规模与约定
- 对于 30% 的测试点,保证 N,M,K≤10;
- 对于 60% 的测试点,保证 N,M,K≤500;
- 对于 100% 的测试点,保证 1≤N,M≤10^5,1≤K≤10^6。
【题目解析】
Aij的元素是i和j的公倍数,意味着该数字能够整除i和j。
根据样例分析:K=2时,求的是k=1,2的和。k=1时,i=j=1,A11是1的公倍数,符合条件,有1个方案。k=2时,A11-A22的公倍数可以是2,其他的不行,有4种方案。按照题目输出:1*1+2*4=9.
枚举,如果k=4,公倍数方案是A11,A12,A14,A21,A22,A24,A41,A42,A44,有9种方案。4提供的贡献值是:4*9=36。9种方案分析,是{1,2,4}和{1,2,4}的两两组合,3*3=9种。
结论:1、i和j,有一个是k的倍数,即可满足。
2、4的约数有1,2,4.4也是1,2,4的倍数。4有多少个因子,统计出来。
3、因为是矩阵,两两相乘,就是每个数字提供的方案数。
【参考程序】