数论
文章平均质量分 88
acm er
走向美好未来的路注定是孤独的,但我不会放弃
展开
-
牛客小白月赛23 B题
给定一个正整数 p求一个最小的正整数 n,使得 n! 是 p 的倍数 题目看起来很简单也很好理解,但是显然这题数据 p数据范围1<=p<=1e9且T<=1000测试组数,显然一看直接求阶乘对比是不现实的,阶乘的数据范围太大了,所以这题很显然就是一到类似数论的题,显然对于每个数我们都可以将其拆分成n多个因子相乘的格式。例如48=246,我们就可以得到48对应的结果就应该是6,了解完大致原理,直接开始分析题目:1)首选考虑p为素数和1的情况很显然,没有别的因子只有1和本身因而,阶乘只能是本原创 2020-05-22 13:31:35 · 118 阅读 · 0 评论 -
light oj 1370(欧拉函数题)
给出一些数字,对于每个数字找到一个欧拉函数值大于等于这个数的数,求找到的所有数的最小和。 思路:1.用数组存下每个数的欧拉函数值,然后一个个找。 2.利用欧拉函数的性质。对于给定的数x,欧拉函数值大于等于x的数一定大于x,于是我们从x+1开始找,看他之后的每一个数是不是素数,如果是的话,就break。为什么呢,因为纵观刚刚的那些性质我们发现,素数的欧拉函数值最大。所以我们碰到的第一个素数一定是我们要找的数。原创 2019-07-23 20:32:09 · 178 阅读 · 0 评论 -
约数个数和定理
约数个数定理对于如何快速求一个数内有多少个数是他的约数,有一种公式假设对于 X 他的素数约数为 p1,p2,p3…pnX = (p1^a1) * (p2a2)*…(pnan)因为 p1,p2,p3…pn都是素数因数,我们可以认为他们是组成 X 最下的一个因子部分,那么我们通过多次选择这些素数相乘不就可以得出全部的约数了吗。那么根据排列组合思想 p1 选 t1 次,p2选 t2 次,p3 ...原创 2019-07-23 22:35:03 · 434 阅读 · 0 评论 -
light oj 1336 (求约数和为偶数的数的个数)
https://vjudge.net/problem/LightOJ-1336这个是题目链接,题意很简单,就是求1-n中约束和为偶数的数的个数,用为n减去奇数的个数即为所求,这题我做的时候用的打表看出来的一点规律,发现为奇数的全部都有两个特点,要不就是完全平方数,要不就是完全平方数的二倍,因而在O(1)复杂度内解决就是n - sqrt(n) - sqrt(n/2);#include <i...原创 2019-07-24 10:46:48 · 376 阅读 · 1 评论 -
light oj 1282 Leading and Training
https://vjudge.net/problem/LightOJ-1282这是题目链接:大致意思就是求出n的k次幂的前三位和后三位,后三位就简单了直接快速幂搞一下mod1000就可以啦,前三位就比较麻烦了需要用到对数的数学知识,证明一下就好了:#include<bits/stdc++.h>using namespace std;#define ll long long i...原创 2019-07-24 12:03:42 · 96 阅读 · 1 评论 -
牛客暑期集训第九场B题(剩余定理)
这是题目链接:链接:https://ac.nowcoder.com/acm/contest/889/B这题就是剩余定理模板题,慢慢学吧,我竟然不知道,比赛的时候还在默默地算,,,,,给你b,c(x+y)%p = b,(x*y)%p = c,问你有没有解,误解就输出-1 -1,有就输出想x和y。Amy asks Mr. B problem B. Please help Mr. B to s...原创 2019-08-15 20:48:31 · 218 阅读 · 0 评论