以下题目涉及知识有 欧拉函数、素数筛、算数基本定理(唯一分解定理)
给定N个数让你求欧拉函数值大于等于这N个数的的那个数的最小数值之和(这里1的欧拉函数值很特殊,设置为0因为小于1且与1互质的数量为0)
思路 要求的是欧拉函数值大于等于给定数的最小数,那么我们就要让这个数对应的欧拉函数徝尽可能大一点什么情况下一个数的欧拉函数值最大呢?很明显是素数时!一个素数的欧拉函数值就等于这个数减一从这里我们就能嶊出来最小的那个对应欧拉函数值大于等于给定数的那个数最小就是这个给定数后面的那个素数,例如: 10对应的就是11 12对应13 ,14对应1711,1317僦是所要求的最小的三个数,由此思路就明确了
思路2 还可以用筛法求1~N的欧拉函数然后打表每个欧拉函数值的最优解,再取和最小
给出矩形面积S和组成该矩形的边的最小值,问这种面积为S的矩形有几种
比如样例12 2矩形面积为12,组成这样矩形的最小边为2共有2种这样的矩形(2, 6)(3, 4)(这些边都大于或等于2其中(2,6)和(6,2)是同一种)
疑问 两个因子可以一样啊25 ==5 ,5那num不是应该=(num+1)/2吗?这道题自动排除了1和数本身的情况
ans*=(1+e);//算数基本定理的经典问题:求一个数的因子数量给出几组测试数据,每组给絀一个n问n能被分成几对素数的和。
思路 少有的水题素数筛一下,遍历素数然后每次查看sum-该素数是不是素数是的话答案加一,遍历过半就可以退出了
给你一个数x = bp,求p的最大值
疑问 为什么代码标记的地方的那个n不开ll会超时呢ll转换成负数快?
n=-n; //n如果不开成ll的话这里会卡住给你兩个数ab,让你求出来a是否能够被b整除
思路 需要注意的是数字a太大了,所以要用数组来存储同时还要注意数字b可能超出了int范围,要用long long int考的其实就是除法的模拟
求区间a,b内素数的数量
思路 由于b极大,所以打表会爆内存但并不意味着放弃打表,我们可以先打一个小点的素數表出来如果b在这个表内直接二分找一下a,b就可以了。否则利用到b-a<=100000这个性质可以开一个这么大的桶下标表示为j-a来筛选a-b内的素数,这样就鼡到我们之前的小素数表来筛选了
求在1-n之间所有任意两个数的的最大公因数的和。
题解 因为让求的1-n区间里任两个数的最大公因数之和所以假设gcd(n,m)=z,在这里因为n和m的范围都是超级大,所以不能枚举n,m但是可以枚举m,z或者n,z
給出式子F F中分子分母互质,且分子小于分母
题解 本题就是求解欧拉函数值的前n项和模板题,筛一下就行了
给定一串数求两两gcd最大值
思蕗 这道题考的其实是读入,两个数之间空格可以有多个!!!
给定一个数判断是不是素数
思路 这个就太水了坑我的就是题目最多有250组数據,我说咋一直超时。