整数分解 费马方法c语言,因数分解(费马的方法)

原标题:因数分解(费马的方法)

触碰标题下面一行的“邵勇老师”查看所有文章;触碰“数学教学研究”, 关注本微信公众号(sx100sy)。 本公众号内容均由邵勇(北京)本人独创,欢迎转发,但未经许可不能转载。每周推送两到三篇内容上有份量的数学文章,但在行文上力争做到深入浅出。几分钟便可读完,轻松学数学。

特别声明,本人未曾授权任何网站(包括微博)、公众号或其他什么号转载北京邵勇原创的“数学教学研究”公众号的内容。建议您一定直接关注本公众号(sx100sy),这样有什么问题可以留言交流和发消息,我会诚恳回复。未经授权而转载我文章的地方丢失了很多功能,比如留言,比如发消息到我后台。未经授权而转载我文章的地方,毕竟还存留着贯穿于我文章中的图片(比如公式),图片的右下角都有原公众号的水印“微信号: sx100sy”,通过在微信中搜索“sx100sy”,一定可以找到原始的公众号,也就是本公众号《数学教学研究》(sx100sy)并加以关注。本公众号才是良好的交流平台和文明的生态环境。

今天讲如何把一个数分解成因数的乘积。这里介绍费马的方法。我用三个具体例子来展示这个方法的运行过程。

例1:

(1)待分解的数n=10379。计算√n(指n的开平方,下同)。它不是整数,否则10379就是一个平方数了,而平方数已完成了至少一步因数分解。

(2)取大于等于√n的正整数N。可写成N=[√n]+1,其中[ ]是取整函数。显然,N^2>n。

(3)求N^2-n。然后考察它是不是平方数。注意,N^2-n应该不是很大,所以,比较容易判断它是不是平方数。若是,则问题基本解决:可设这个平方数为M^2,则有M^2=N^2-n,即n=N^2-M^2。所以根据平方差公式便得到n=(N+M)(N-M)。若不是,则继续算(N+1)^2-n,看它是不是平方数,······一直进行下去,直到出现平方数为止,或根本不出现平方数(文后会讨论这种情况)。

(4)具体来说,√10379=101.877···。取N=102,则N^2=10404,于是

N^2-n=10404-10379=25

25=5^2,是平方数。所以n=(102+5)(102-5)=107×97。分解成功。两个因数能否再分解?文后有说明。

例2:

再来看n=93343的分解。√93343=305.52···。取N=306,则N^2=93636。于是,

293不是平方数,因为个位数是3(有一个快速判断一个数不是平方数的简易方法,就是看它的个位数是不是2,3,7,8,若是,则这个数不是平方数。这是因为一个数的平方,其个位数永远不可能为 2,3,7,8)。于是,继续算(N+1)^2-n。N+1=307。

(N+1)^2-n=307^2-93343

=94249-93343

=906

明显,它只比平方数900(=30^2)大一点点,而31^2=961,所以906不是平方数。继续算 (N+2)^2-n,

(N+2)^2-n=308^2-93343

=94864-93343

=1521

=39^2

结果是平方数。所以,

n=(308+39)(308-39)=347×269

这两个因数正好还都是素数,不能再分解了。

例3:

a450ef26ac957481255713e37042a7a7.png

补充说明:

(1)我们用费马这种方法去分解的数一定是一个奇数。若是偶数,我们可以将其除以2,若结果还是偶数就再除以2,直至不再为偶数。然后我们再对这个奇数进行分解。

(2)我们可以不必知道这个待分解的奇数是不是合数,也有可能是素数。但费马的方法在进行过程中,若在某一步时成功分解,则原数是合数。这时这个合数被分解成了两个较小的奇数的乘积(两个因数必定都是奇数,因为原数是奇数)。成功分解之后,两个因数都还有可以再继续分解,可以继续用费马的方法进行,直到所有因数都为素数。

(3)很有可能费马方法进行下来,我们根本找不到某两个数它们的平方差等于原数。那么原数就是一个素数。这个是可以想得通的:因为若原数不是素数,则它一定可以写成两个奇数因数的乘积。而两个奇数的乘积是一定可以化为两个正整数的平方差的。比如,我们任意取两个奇数:359和283。计算出这两个数的差:359-283=76。这个差一定是一个偶数(奇数减奇数为偶数),所以,这个差的一半必然是整数,这里,76/2=38。那么,我们把大的奇数因数写成某数加上38,即:321+38。把小的奇数因数写成某数减去38,即:321-38。这时的两个奇数因数分别为: 321+38和 321-38。两项中均出现了321。这不是巧合,而是必然的,因为38是两奇数因数之差的一半。 也就是说,“求差—取半...”等步骤后,两因数的乘积出现(a+b)(a-b)形式,是必然的。于是,原数就可以写成两数的两方差:a^2-b^2。所以,我们通过费马的方法,一定可以找到这对a和b。也就是说,找不到的话,就说明原数一定是素数。

(4)费马方法有局限性,它在两因数比较接近的情况下才很有效。返回搜狐,查看更多

责任编辑:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
知识总结 1 一、整除的性质: 3 二、数的整除特征 3 三、奇偶的性质 4 四、模p运算 4 五、同余的性质 4 六、余数检验 5 七、素数 6 八、素数的检验 7 九、最大公约数 8 十、算术基本定理 9 十一、一些数论的定理 9 十二、二次剩余 9 十三、梅森数 10 十四、完全数 11 十五、费马数 12 十六、完全平方数 12 十七、水仙花数 13 十八、西西弗斯数 13 十九、高度合成数 13 二十、斐波那契数 13 二十一、亲和数 14 二十二、欧拉数 14 二十三、欧拉的其他公式 15 二十四、欧拉方程 15 二十五、勾股数的特点 16 二十六、勾股数系的系和组 17 二十七、勾股数系的性质 17 二十八、二元一次不定方程 18 二十九、中国同余式 18 三十、数列 18 三十一、常识 19 三十二、幻方 19 三十三、克拉茨命题 20 三十三、用牛顿叠代法求高精度倒数 21 三十四、用二分法求解n! 21 三十五、高精度求乘幂 21 三十六、高精度求实数乘幂 22 三十七、高精度求对数 23 三十八、乘法的快速傅立叶转换 23 三十九、FFT 乘法 24 四十、高精度求开方 25 四十一、对原函数进行高精度求解 26 四十二、巴什博奕(Bash Game): 27 四十三、威佐夫博奕(Wythoff Game): 27 四十四、尼姆博奕(Nimm Game): 28 四十五、取火柴游戏 29 四十六、取硬币游戏 30 四十七、分金币 30 四十八、三人行游戏 31 四十九、3个教士和3个土人 31 五十、分酒问题 32 五十一、砝码 33 五十二、杨辉三角 34 五十三、图论的一些定理: 37 五十四、二部图 38 五十五、排列组合问题 39 五十六、计数问题 39 五十七、微积分公式 41 五十八、三角函数公式 43 五十九、空间解析几何和向量代数: 44 六十、多元微积分 44 六十一、多元函数微分法及应用 47 六十二、微分法在几何上的应用: 48 六十三、级数: 49 六十四、微分方程: 52 六十五、数学常用公式 53 六十六、二维图形的周长与面积公式 56 六十七、程序 58

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值