题库首页 › GESP等级认证(C++) › 题目 10341

公倍数问题 问题描述 小 A 写了一个N×M的矩阵A,我们看不到这个矩阵,但我们可以知道,其中第i行第j列的元素Aij是i和j的公倍数(i=1,...,N,j=1,...,M)。现在有K个小朋友,其中第k个小朋友想知道,矩阵A中最多有多少个元素可以是k(k=1,2,...,K)。请你帮助这些小朋友求解。 注意:每位小朋友的答案互不相关,例如,有些位置既可能是x,又可能是y,则它同可以时满足x,y两名小朋友的要求。 方便起见,你只需要输出即可,其中ansk表示第k名小朋友感兴趣的答案。 输入描述 第一行三个正整数N,M,K。 输出描述 输出一行,即。 请注意,这个数可能很大,使用 C++ 语言的选手请酌情使用 long long 等数据类型存储答案。 特别提醒 在常规程序中,输入、输出时提供提示是好习惯。但在本场考试中,由于系统限定,请不要在输入、输出中附带任何提示信息。 样例输入1: 2 5 2 样例输出1: 9 样例解释 1 只有A1,1可以是1,其余都不行。 A1,1,A1,2,A2,1,A2,2都可以是2,而其余不行。 因此答案是1×1+2×4=9。 样例输入2: 100 100 100 样例输出2:. 185233 数据规模 对于30的测试点,保证N,M,K≤10; 对于60的测试点,保证N,M,K≤500; 对于100的测试点,保证N,M≤105,K≤106。

公倍数问题 问题描述 小 A 写了一个N×M的矩阵A,我们看 题目配图公倍数问题 问题描述 小 A 写了一个N×M的矩阵A,我们看 题目配图

正确答案:答案=sum(k*cnt_k),cnt_k=能取k的位置数=i整除k且j整除k的对数=([1..N]中k的约数个数)*([1..M]中k的约数个数)。即cnt_k=(sum(N//d for d|k))*(sum(M//d for d|k))

试卷来源:202403 CCF-GESP编程能力等级认证C++八级真题

本卷相关题目

在线做题 同科目题库