算法导论笔记:31数论算法

       因为我们将处理一些大整数,所以需要调整一下如何看待输人规模和基本算术运算的代价的看法。

       在本章中,一个“大的输入”意味着输入包含“大的整数”,而不是输人中包含“许多整数”。因此,我们将根据输入数的位数来衡最输人的规模,而不是仅根据输人中包含的整数的个数。在本章中,我们在分析算法时一般既考虑算术运算的次数,也考虑它们所要求的位操作的次数。

 

一:初等数论概念

       一个整数能被另一个整数整除的概念是数论中的一个中心概念。记号d|a,读作“d整除a”,意味着对某个整数k,有a=kd。比如3整除6,则6=2*33是除数,6是被除数)。0可被任何整数整除。

       如果a>0且d|a,则|d|<=|a|。

       如果d|a并且d>=0,则d是a的约数,a是d的倍数。d|a当且仅当(-d)|a,因此一般定义约数为非负整数。一个整数a的约数最小为1,最大为|a|。每个整数a都可以被其平凡约数1和a整除,a的非平凡约数也成为a的因子,比如20的因子有2,4,5和10.

 

       对于某个整数a>1,如果它仅有平凡约数1a,则称a为素数(质数)。如果a>1a不是素数,则a为合数1不是素数,也不是合数,同样,0和所有非负数既不是素数,也不是合数。

 

       已知一个整数n,所有整数都可以根据它们除以n所得的余数来进行分类,数论的大部分理论都是基于上述划分的。

       对任意整数a和任意正整数n,存在唯一的整数q和r,满足0<=r<n,并且a=qn+r。q为商,r=a mod n称为余数。n|a当且仅当a mod n = 0.

       根据整数模n所得的余数,可以把整数分成n个等价类。记为 = {a+kn:k ∈ Z},

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值