码迷,mamicode.com
首页 >  
搜索关键字:约数    ( 2560个结果
扩展欧几里得
欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。 基本算法:设a=qb+r,其中a,b,q,r都是整数,则gcd(a,b)=gcd(b,r),即gcd(a,b)=gcd(b,a%b)。 递归代码: __int64 gcd(__int64 a,__int64 b) { return b==0?a:gcd(b,a%b); } 扩展欧几里得 基本...
分类:其他好文   时间:2014-07-29 15:00:38    阅读次数:431
反质数
问题描述 对于任何正整数x,其约数的个数记作g(x)。例如g(1)=1、g(6)=4。 如果某个正整数x满足:g(x)>g(i)02×109。所以,我们就得到了一个很重要的性质: 性质一:在[1,2×10^9]中,一个数最多有10个不同的质因子。 根据经验,一个正整数N,其约数个数是级的[3]。因此...
分类:其他好文   时间:2014-07-29 12:12:56    阅读次数:203
算法总结之欧几里德算法
算法总结之欧几里德算法1.欧几里德算法 欧几里德算法又称辗转相除法,用于计算两个正整数a,b的最大公约数。 其计算原理依赖于下面的定理: gcd(a,b)=gcd(b,amodb)(a>b且amodb不为0)代码实现:1 int gcd(int a,int b)2 {3 return ...
分类:其他好文   时间:2014-07-29 10:29:16    阅读次数:231
一到一千之间的所有完数
//一个数如果恰好等于它的因子之和,这个数就称为"完数"。(因子:除去这个数本身正的约数)//例如6=1+2+3.编程找出1000以内的所有完数classTestWanShu{publicstaticvoidmain(String[]args){intsum=0;for(inti=1;i<=1000;i++){for(intj=1;j<i;j++){if(i%j==0){sum+=j;}..
分类:其他好文   时间:2014-07-28 00:41:29    阅读次数:165
hdoj 2504 又见GCD 【GCD判定】
思路:一个一个的找,因为c不等于b 且b是(a, c)的最大公约数, 所以c是b的整数倍, 每找到一个c就判断与 a的最大公约数是不是b,不是的话,就继续 刚开始的时候 居然把gcd非递归形式忘了。。。也没想用递归形式。。 又见GCD Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (...
分类:其他好文   时间:2014-07-28 00:27:10    阅读次数:246
公约数和公倍数
#include#includeint main(){ int n; int a,b,r; int p,t; scanf("%d",&n); while(n--) { scanf("%d %d",&a,&b); if(a<b) { t=a; a=b...
分类:其他好文   时间:2014-07-27 22:21:19    阅读次数:186
hdoj 1492 The number of divisors(约数) about Humble Numbers 【数论】【质因子分解 求和】
定理:一个正整数 n 可以用素因子唯一表示为 p1^r1 * p2^r2 * ... pk^rk (其中 pi 为素数) , 那么这个数的因子的个数就是,(r1+1)*(r2+1)*...*(rk+1). 理解:为什么是加1之后再相乘,因为一个数的的因子数至少为1和他自身,但因为r1,r2。。可以为0,所以因子的个数为(r1+1)。。。 拓展一下: 定理1: 一个正整数 n 可以用素...
分类:其他好文   时间:2014-07-26 15:32:46    阅读次数:194
POJ1845 数论 二分快速取余
大致题意:求A^B的所有约数(即因子)之和,并对其取模 9901再输出。解题思路:应用定理主要有三个:(1) 整数的唯一分解定理: 任意正整数都有且只有一种方式写出其素因子的乘积表达式。 A=(p1^k1)*(p2^k2)*(p3^k3)*....*(pn^kn) 其中pi均为素数(2) 约数和公式...
分类:其他好文   时间:2014-07-26 14:24:40    阅读次数:291
最大公约数的最小倍数 【杭电-2504】 附题
/* Time Limit : 1000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total Submission(s) : 148   Accepted Submission(s) : 19 Font: Times New Roman | Verdana | Georgia Font Size: ←...
分类:其他好文   时间:2014-07-26 02:50:46    阅读次数:252
140724暑期培训.txt
1、同余定理 (a+b)%c==(a%c+b%c)%c (a*b)%c==[(a%c)*(b%c)]%c 因为有的数在int范围内,但是两个的乘积却超过了int范围,这样可以避免运算过程中超过int范围 2、gcd函数(即最大公约数) int gcd(int a,int b) { return !b?a:gcd(b,a%b); }...
分类:其他好文   时间:2014-07-25 11:09:31    阅读次数:187
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!