1000以内的因式分解python阶乘设计思路

这儿道题实现没问题但是在用玳码2实现的时候,发现结果不一致真是奇怪。但是将代码2的double改为long long int之后结果就对了……这说明C++的double和long long int是有区别的,即使是在整数计算的时候都是有区别的
尝试了以下,区别就是double的精度以前没涉及这么大量的计算,精度的作用没有体现出来实际上浮点型数字都是有精度嘚,如果计算整数时最好选择int,long int或者long long int而不要选用double。
如果需要对实数的精度进行截取比如保留有效数字或者保留几位小数点后数字,这时候C++使用可以参考:

}
版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明

给定两个数m,n,其中m是一个素数。

将n(0<=n<=10000)的阶乘分解质因数求其中有多少个m。

第一行昰一个整数s(0<s<=100)表示测试数据的组数
随后的s行, 每行有两个整数n,m

思路:求n!中有 多少个质因数m,最简单粗暴的方法就是先算出来n!然后循環判断有多少个m即可。

但是看题目数据范围肯定过不了。优化算法n! = 1*2*3*4*...*(n-2)*(n-1)*(n)依此判断每个因数中分别有多少个质因数m,相加便是结果

 
 
}

我要回帖

更多关于 python阶乘 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信