随笔分类 - 数论
摘要:题意:输入整数n(1<=n<=3千万),有多少对整数(a,b)满足:1<=b<=a<=n,且gcd(a,b)=a XOR b。例如:n=7时,有4对:(3,2),(5,4),(6,4),(7,6)。 思路分析 : 对于这个问题, gcd(a, b) = c , 则 a ^ c = b , 那么c 一
阅读全文
摘要:1 、 异或是满足交换律和结合律 2 、 A^B = C , 则由 A^C = B, B^C = A 3 、 异或在运算时其实就是一个没有进制的加法,其满足相同为 0,不同为 1的运算规则 4 、X^X = 0
阅读全文
摘要:【题目描述】 给出正整数n,m,区间[n,m]内的无平方因子数有多少个? 整数p无平方因子,当且仅当不存在k>1,使p是k^2的倍数,1<=n<=m<=10^12,m-n<=10^7 【输入格式】 两个整数n,m 【输出格式】 [n,m]间的无平方因子数的个数 【样例输入】 【样例输出】 【提示】
阅读全文
摘要:【题目描述】 经过无尽的蘑菇和无尽的不知道错在哪里、不知道发生了什么只下,恭喜KZ成功的造出了数据!!可喜可贺可喜可贺 给出一个这样的除法表达式:X1/X2/X3/X4/X5/X6..../Xk, 正常的除法表达式是从左往右计算的,但是我们可以向其中添加括号,以改变它的运算顺序,如1/2/1/2=1
阅读全文
摘要:先想一个简单的问题 让你去求一个任意一个数 x 在 a 进制下的位数, 那么答案就是 log(a)(x) + 1, (以 a 为底 x 的对数 + 1 ) 现在让你去求 n! 在 a 进制下的位数 答案就是 log(a)( n! ) = log(a)(1*2*3*...*n) = log(a)(1)
阅读全文
摘要:推荐博客 : http://blog.csdn.net/zlambert/article/details/65691838 为了避免重复的计算,人们研究出一种新的计数方法,这种方法的基本思想是:先不考虑重叠的情况,把包含于某内容中的所有对象的数目先计算出来,然后再把计数时重复计算的数目排斥出去,使得
阅读全文
摘要:推荐博客 : http://blog.csdn.net/YJX_xx/article/details/38677947 现让你去计算一下图中多边形内部有多少个格点 至于边上的格点的数目,就通过求一次 gcd 就能得到,求两个点横纵坐标长度的最大公约数再减去 1 ,就是这点线段上的格点数且不算左右端点
阅读全文
摘要:最经典的用法是 用来求一个三角形的面积或是判断个方向 去年的省赛有一个题目是求一个多边型的面积,在这里,用叉积就可以轻松解决 现有一个问题,让你去判断一个点是否在三角形的内部,在这里介绍三种方法 (推荐博客 : http://www.cnblogs.com/TenosDoIt/p/4024413.h
阅读全文
摘要:gcd 是表示两个数的最大公约数 在这里 , gcd(a, b) 是等于 gcd(b, a%b) , 证明如下 : 令 a = kb + p , gcd(a, b) = c , 那么就是 a, b 都可以整除 c , 那么 kb 也可以整除 c ,那么 a - kb 也可以整除 c , 所以 b 和
阅读全文
摘要:如何 快速求一个数的因数的个数 问题 2 : 如何求 1 - n 里所有数约数个数的总和 ? 对于一个所要求的数 n ,我们要求的就是遍历 1 - n , 找有几个数是此数的倍数,将结果累加就可以。 问题3 : 如何求 1 - n 里所有数约数个数最多的数是哪个? 约数定理 : 任意一个数都可以写成
阅读全文
摘要:推荐博客 : http://blog.csdn.net/yew1eb/article/details/38728357
阅读全文
摘要:The branch of mathematics called number theory is about properties of numbers. One of the areas that has captured the interest of number theoreticians
阅读全文
摘要:有些题目让你求一个区间的素数 基于普通的埃氏筛法, 衍生出区间筛法,例如求 [ a, b ]内的素数,可以先将 [ 0, 根号b ]内的素数全都找出来,然后在将 [ a, b ]内是其 [ 0, 根号b ] 中素数的倍数的数全部划去,区间剩余的数即为素数。
阅读全文
摘要:One day, Alice and Bob felt bored again, Bob knows Alice is a girl who loves math and is just learning something about matrix, so he decided to make a
阅读全文
摘要:Read the program below carefully then answer the question. #pragma comment(linker, "/STACK:1024000000,1024000000") #include <cstdio> #include<iostream
阅读全文