- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ACM中数论基础知识的运用
数论初步:
一,整除与因式分解:
1,算术基本定理: n =a1^r1*a2^r2*a3^r3……
2,求素数:(试除法,筛选法):
素数测试
?费马小定理:若p为素数,则对于任意小于
p的正整数a,有a(p-1)≡1(mod p)
?证明:用欧拉定理直接得出
?二次探测定理:若p为素数,a2≡1(mod p)
小于p的正整数解只有1和p-1
?满足费马小定理和二次探测定理的数可以确定是素数
Miller-Rabin算法
?算法步骤:
?判定n是否为素数
?令n-1=m*2j,m为奇数
?随机在2到(n-1)之间取一个整数b
?令v=bm,之后每次对v平方,当v=1时,若上一次的v既
不是1也不是(n-1),由二次探测定理,n不是素数,退出;
不断循环直到计算出b(n-1)
?v=1,满足费马小定理,通过测试;否则n一定不是素数
?选取几个不同的b多次测试
Miller-Rabin只能算一种测试,因为通过
测试的数不一定是素数,非素数通过测试
的概率是1/4
?虽然一次测试的结果不一定令人满意,但
五六次随机测试基本可以保证正确率超
过99.9%
For (int i = 2; i n ;i++)
{
For (int j = 2,flay = 1; j sqrt (n); j++)
If (I % j == 0)
{
Printf (“i不是素数”);
flay = 0;
}
Printf (“I 是素数”);
}
3 ,
int m = sqrt (n+0.5);
int c = 0;
memset (vis,0,sizeof (vis));
for (int i = 2; i = m; i++)
if (!vis[i])
{
prime[c++] = i;
for (int j = i*i; j = n; j+= i) vis[j] = 1;
}
4,
int isprime[N];
int cnt;
int isok (int x)
{
for(int i = 0; i cnt isprime[i] * isprime[i] = x; i++)
if (x % isprime[i] == 0) return 0;
return 1;
}
void getprime ()
{
isprime[0] = 2;
isprime[1] = 3;
cnt = 2;
for (int i = 5; i maxn; i++)
if (isok (i))
isprime[cnt++] = i;
}
5,因式分解:
int Factor (int num)
{
int m = 0;
for (int i = 0; i cnt isprime[i]*isprime[i] = num; i++)
{
if (num%isprime[i] == 0)
{
arr[++m] = isprime[i];
r[m] = 0;
while (num % isprime[i] == 0 num)
{
r[m]++;
num/= isprime[i];
}
}
}
if (num 1)
{
arr[++m] = num;
r[m] = 1;
}
return m;
}
6,求约数:
void dfs (int now,int q,int m,int a,int b)
{
if (flay) return ;
if (q a) return ;
if (now == m+1)
{
q 就是约数…..
return ;
}
for (int i = 0,t = 1;i = r[now];i++,t*=arr[now])
{
dfs (now+1,q*t,m,a,b);
}
}
例题分析:
Fzu上的题:()
求一个数的真因子个数(不包括本身)。
n = p1^a1
您可能关注的文档
最近下载
- 4 JieLink+智能终端操作平台系统调试说明书V1.0.doc
- 2022数学新课标背景下:基于项目式学习的创新教学实例.docx VIP
- 有机合成第六章.ppt VIP
- 抖音来客本地服务行业实体门店运营培训教程(三)抖音实体门店商家经营思路.pptx
- (正式版)D-L∕T 5862-2023 电化学储能电站施工图设计内容深度规定.docx VIP
- 苏教版三年级数学下册《全程测评卷》.doc
- 2024年~2022年浙江省国企招聘历年面试题目及答案解析50套.docx
- 高中物理游标卡尺、千分尺、螺旋测微器读数习题集.doc
- 中考英语作文万能模板及万能句型汇总.docx VIP
- 五个认同爱国主义教育课件.pptx
文档评论(0)