码迷,mamicode.com
首页 >  
搜索关键字:除法    ( 3044个结果
[leetcode]Divide Two Integers
Divide Two IntegersDivide two integers without using multiplication, division and mod operator.不用* 、/、%来做除法。只能加减了啊亲!算法思路:一个一个加上去必超时,例如dividend = Integ...
分类:其他好文   时间:2014-08-08 20:59:36    阅读次数:186
欧几里得算法-----欧几里德算法
欧几里得算法 欧几里得算法又称辗转相除法,主要用于计算两个整数a,b的最大公约数。 原理:gcd(a,b)=gcd(b,a mod b)(这里a>=b)          (gcd(a,b)=gcd(b,a)=gcd(-a,b)=gcd(|a|,|b|) 证明gcd(a,b)=gcd(b,a mod b):a可以表示成a = kb + r,则r= a mod b   假设d是a,b...
分类:其他好文   时间:2014-08-08 18:20:46    阅读次数:278
[leetcode]Sqrt(x)
Sqrt(x)Implementint sqrt(int x).Compute and return the square root ofx.【注意】:1.本题int类型可能会溢出,因此不能用乘法运算,应尽量用除法。2. 绝大多数数字都不是可开方的,该如何得到比较近的结果呢?算法思路:思路1:顺序遍...
分类:其他好文   时间:2014-08-08 01:52:45    阅读次数:202
简单数论
1.求gcd,算法为欧几里德(辗转相除法)2.解一元二次方程,算法为扩展欧几里德3.求素数,算法为埃氏筛法4.快速进行幂运算,算法快速幂(反复平方)5.解线性同余方程,求逆元(基于exgcd)6.其它用来优化模运算的定理,欧拉定理(费马小定理),相应的函数欧拉函数
分类:其他好文   时间:2014-08-07 12:49:39    阅读次数:239
关于大整数的加减乘除求余运算 java
自己用java 实现了大字符串整数的加减乘除和求余运算,加减法的算法是模拟手工笔算的计算过程,除法就是从最高位不停的减操作,乘法的算法 :遍历一个数的各个位数以及他所在位置,另一个数根据这个数的位置末位添n个0,然后累加次数为这个位置数的数值原创代码如下:public class Demo6 { ....
分类:编程语言   时间:2014-08-05 18:51:13    阅读次数:396
Leetcode--Divide Two Integers
Problem Description: Divide two integers without using multiplication, division and mod operator. 分析:题目意思很容易理解,就是不用乘除法和模运算求来做除法,很容易想到的一个方法是一直做减法,然后计数,但是提交之后显示超时,在网上找到一种解法,利用位运算,意思是任何一个整数可以表示成以2的幂为...
分类:其他好文   时间:2014-08-04 21:33:28    阅读次数:307
求x^0+x^1+x^2+.......x^n mod p; x,n,p<=10^9
方法一:快速幂。但是肯定还是超时。方法二:利用等比数列公式,但是有除法,做不下去了。方法三:有点分治的味道..n为偶数时,x^0+x^1+x^2+.......x^n=(x^0+x^1+x^2+.....x^(n/2))*(1+x^(n/2))-x^(n/2);也就是F(n)=F(n/2)*(1+x...
分类:其他好文   时间:2014-08-02 23:11:04    阅读次数:242
hdu 4609 3-idiots 【FFT快(gui)速傅立叶变换】
FFT实现起来挺复杂的,开始用vector,结果发现空间超了,换成数组还是超,删掉了几个后又超时了 sin cos 函数调用次数太多了,改成乘法,还是超时 最后把FFT里的除法运算和模运算优化了一下,终于过了,排的老后面 坑,3843MS,一看时间最少的只有671MS,我都怀疑这是不是同一个算法。。为毛差距这么大 #pragma comment(linker, "/STACK:1024...
分类:其他好文   时间:2014-08-01 23:18:12    阅读次数:333
hdu 1111 Secret Code
http://acm.hdu.edu.cn/showproblem.php?pid=1111复数除法: 1 #include 2 #include 3 #include 4 using namespace std; 5 6 int a[110]; 7 __int64 n; 8 int x1,...
分类:其他好文   时间:2014-08-01 19:10:32    阅读次数:321
【编程题目】求1+2+…+n, 要求不能使用乘除法、for、while、if、else、switch、case和条件语句
看到这个问题,第一个反应是真变态啊。 然后,直觉是不能用循环就只能用递归了。可递归怎么跳出来却遇到了麻烦, 我连goto语句都考虑了也没弄好。后来想到一个非常NC的方法:查找表。 如果n限定一个比较小的范围直接用查找表好了。 但题目的目的肯定不是这样的.....后来,我转换了一下思路 1+2...+...
分类:其他好文   时间:2014-08-01 15:43:01    阅读次数:265
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!