码迷,mamicode.com
首页 >  
搜索关键字:乘法 除法 大整数    ( 8794个结果
leetcode第一刷_Plus One
这种类似大整数的处理的问题还是比较常见的,这道题应该是非常简单的版本。 题目的要求是这样的,输入的vector靠前的位置是数字的高位,因此应该先求出长度,然后从后面往前算。维护一个变量保存进位,这我就不说了。结果的vector怎么办呢?因为最后有可能有个总的进位,比如999加1,结果的vector会比输入的多出一位,因此结果还是从前往后存简单一些。最后如果有进位,就多push_back一个1,然...
分类:其他好文   时间:2014-05-14 00:31:48    阅读次数:312
POJ 2992 Divisors 求组合数因子个数
题目来源:POJ 2992 Divisors 题意:。。。 思路:素数分解的唯一性 一个数可以被分解成若干素数相乘 p1^x1*p2^x2*...*pn^xn 根据乘法原理 因子数为 (x1+1)*(x2+1)*...*(xn+1) 不能直接求出组合数 会溢出 也不能把每个乘的数分解因子 这样会超时 C(N,M)=N!/(M!*(N-M)!) 另dp[i][j] 代表为i的阶乘中j因子...
分类:其他好文   时间:2014-05-13 09:28:07    阅读次数:207
leetcode第一刷_Add Binary
二进制相加,本质上就是大整数加法,有关大整数加法我的舍友教过我一个很好的方法,先用一个int数组保存结果,将两个数对应位置相加,全部加完后,再统一处理进位的问题。这个方法同样适用于大整数的乘法。 这个题没什么特别的,注意一下进位别搞错了就行了,还有其实不用像我写的这么麻烦,可以一开始先判断哪个更长一些,交换一下。代码会简洁很多。class Solution { public: strin...
分类:其他好文   时间:2014-05-13 08:02:00    阅读次数:239
九度 1104 以及 辗转相除法的原理f昂发
//方法一 //对每个形如 (A*a+ B)* a^k的数,前面的A 没有意义的,只有B //才有可能继续被用来作为未来的因子,所以每次只需要保留比a小的B 就够了。代码如下: #include #include #include using namespace std; #ifdef ONLINE_JUDGE #d...
分类:其他好文   时间:2014-05-11 13:29:39    阅读次数:280
UVA 11038 - How Many O's?(计数问题)
题目链接:11038 - How Many O's? 题意:求[a.b]之间,0出现的次数。 思路:一开始一直往数位DP上去想,结果发现挺复杂的。。 把问题先转化为求0 - num的个数,在用到b的个数减去到a的个数 其实只要利用计数的乘法和加法原理,把数字对应的每一位的分成左右两边,利用乘法原理求总数,在用加法原理把所有的总数加起来就是总情况数。那么讨论一下分成两边的情况。举个例子 比...
分类:其他好文   时间:2014-05-11 13:16:13    阅读次数:282
UVA 1362 - Exploring Pyramids(计数问题+区间DP)
题目链接:1362 - Exploring Pyramids 白书上的例题,思路是对于每个结点,往后遍历分为左右两边子树来考虑,左边的子树为去掉根节点剩下的子树,而右边是要算上根节点的,这样就不会有重复的情况出现,然后根据乘法原理,左右两边情况相乘为总情况数,然后计算这些总和。  f[i][j]表示[i,j]结点的情况种数,那么 f[i][j] = sum{f[i + 1][k - 1] * ...
分类:其他好文   时间:2014-05-11 07:02:11    阅读次数:277
【数论】计数问题的几种基本方法
一、计数原理 加法原理:n个方法,每个方法有Pi种方案,那么一共方案数为P1 + P2 + P3... + Pn 乘法原理:一件事情有n个步骤,每个步骤需要pi种方案,那么一共有P1 * P2 * P3 * ... * Pn种方案。 容斥原理:集合A,B,C。|A U B U C| = |A| + |B| + |C| - |AB| - |AC| - |BC| + |ABC|。依次类推。 基...
分类:其他好文   时间:2014-05-11 06:28:46    阅读次数:450
辗转相除法求最大公约数
算法描述: 对于整数x、y,用f(x,y)表示x、y的最大公约数。一个数能整除x、y ,则该数必能整除 y、x%y;一个数能整除y、x%y,则该数必能整除x、y(结尾证明)。这样便可将 原问题转化成更小的数的最大公约数,直到其中一个为0。 即 f(x,y) = f(y, x%y) ...
分类:其他好文   时间:2014-05-10 02:23:50    阅读次数:312
暴力穷举
暴力除法 题目描述 输入正整数n,按从小到大的顺序输出所有形如abcde/fghij=n的表达式,其中a~j恰好为数字0~9的一个排列,2 输入 输入包括多行,每行一个正整数n,2 输出 针对每个输入的n,从小到大输出该表达式,若没有表达式可以生成,则不输出。 样例输入 62 样例输出 79546/01283=62 94736/01528=62 ...
分类:其他好文   时间:2014-05-09 21:04:30    阅读次数:638
Python源码--整数对象(PyIntObject)的内存池
由于python中的整数对象记录的整数值是不可变的,所以在名字a的值不断变化的过程中,就就涉及到了多次对象的创建和销毁。所以python为整数对象申请空间进行了两种优化: 优化1:为通用整数对象存储池 优化2:为小整数对象构建特殊的缓冲 PyIntObject分为小整数对象[-5~257)及大整数对象。小整数对象在py启动过程中初始化,从而实现小整数对象的缓存,缓冲中的小整数对象在py运行期间不会被销毁。 大整数对象需要程序员动态申请,对象在运行过程中根据ob_refcnt引...
分类:编程语言   时间:2014-05-09 06:24:38    阅读次数:383
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!