-
题意: 有这样一个有关最大公约数的函数: 函数 f(x, y): { c=0 当 y>0: { c +=1 t = x % y x = y y = t } 返回 c * x * x } 给出三个正整数n,m,p,你需要计算: $$ \sum_{i=1}^{n} \sum_{j=1}^{m} \left \lfloor \frac{i*j}{f(i,j))} \right \rfloor $$ n <= 666,666,666, m <= 666, p <= 666,666,666。 思路: 打表找规律。 但是找规律也要按照基本法 观察到m比较小,对于固定的j,容易看出f(i,j)和f(i+j*k,k)是等价 …
Read More -
给定 x, k ,求满足 x + y = x | y 的第 k 小的正整数 y 。 | 是二进制的或(or)运算,例如 3 | 5 = 7。 比如当 x=5,k=1时返回 2,因为5+1=6 不等于 5|1=5,而 5+2=7 等于 5 | 2 = 7。 输入描述: 每组测试用例仅包含一组数据,每组数据为两个正整数 x , k。 满足 0 < x , k ≤ 2,000,000,000。 输出描述: 输出一个数y。 输入例子: 5 1 输出例子: 达标2 一看就是数学题...? 打表观察... 1 0000001 2 0000010 3 0000011 4 0000100 5 0000101 6 0000110 7 …
Read More