• 1.质数:

  质数(prime number)又称素数,有无限个。一个大于1的自然数,除了1和它本身外,不能整除以其他自然数(质数),换句话说就是该数除了1和它本身以外不再有其他的因数。

  • 2.约数:

  如果一个整数能被两个整数整除,那么这个数就是着两个数的约数。约数是有限的,一般用最大公约数。例如 24的约数是1,2,3,4,6,8,12,24

  • 3.计算约数和:

  在数论中有种,把一个数分解成N个素数的积,再把这些素数的指数加一后,全部相乘的积就是约数的个数了。

  例如:36 = 2^2 * 3^2 指数加一的积就是:(2+1)*(2+1) = 9;36有9个约数吧。
  24 = 2^3 * 3 指数加一的积就是:(3+1)*(1+1) = 8;24就有8个约数。

 int check(int n){
int i,sum = ;
memset(arry,,sizeof(arry));
for(i = ;i <=n;i++){
while(n!=i){
if(n%i == ){
arry[i]++;
n/=i;
}
else
break;
}
}
arry[n]++;
for(int j = ;j <= ;j++){
if(arry[j]){
arry[j]+=;
sum*=arry[j];
}
}
return sum;
}
  • 3.分解质因数:
 void check(int n){
int n1 = n,sum = ;
for(int j = ;j<=sqrt(n);j++){
while(n1 % j == ){
n1 /= j;
cout << j << "\t";
}
}cout << n1;
}
  • 4.GCD(最大公约数)

    两个数:

     scanf("%d%d",&a,&b);
int a1 = a,b1 = b;
if(a < b){
temp = a;
a = b;
b = temp;
}
while(b != ){
temp = a % b;
a = b;
b = temp;
}
printf("%d",a);

    多个数: 

 for(i = ;i<n;i++){
scanf("%d",&arry[i]);
}
//获得最小值
min = arry[];
for(int j = ;j<;j++){
if(arry[j] < min)
min = arry[j];
}
for(a = min;a>;a--){
int sum = ;
for(i = ;i<n;i++){
sum+=arry[i]%a;
}
if(sum == )
break;
}
printf("%d\n",a);
  • 5.LCM(最小公倍数)

    两个数:先计算出A,B的最大公约数C,LCM = A*B/C

    多个数:先求最大公约数,各个数除这个最大公约数所得的各个数,相乘,再乘以这个最大公约数可得这几个数的最小公倍数

      

【基础数学】质数,约数,分解质因数,GCD,LCM的更多相关文章

  1. 【20181027T1】洛阳怀【推结论+线性筛+分解质因数+GCD性质】

    原题:CF402D [错解] 唔,先打个表看看 咦,没有坏质数好像就是质因数个数啊 那有坏质数呢? 好像变负数了 推出错误结论:f(x)=x的质因数个数,如果有个坏质数,就乘上-1 然后乱搞,起码花了 ...

  2. POJ 2429 GCD & LCM Inverse (Pollard rho整数分解+dfs枚举)

    题意:给出a和b的gcd和lcm,让你求a和b.按升序输出a和b.若有多组满足条件的a和b,那么输出a+b最小的.思路:lcm=a*b/gcd   lcm/gcd=a/gcd*b/gcd 可知a/gc ...

  3. [学习笔记] Miller-Rabin质数测试 & Pollard-Rho质因数分解

    目录 Miller-Rabin质数测试 & Pollard-Rho质因数分解 Miller-Rabin质数测试 一些依赖的定理 实现以及正确率 Pollard-Rho质因数分解 生日悖论与生日 ...

  4. UVa 10622 (gcd 分解质因数) Perfect P-th Powers

    题意: 对于32位有符号整数x,将其写成x = bp的形式,求p可能的最大值. 分析: 将x分解质因数,然后求所有指数的gcd即可. 对于负数还要再处理一下,负数求得的p必须是奇数才行. #inclu ...

  5. POJ2429 GCD & LCM Inverse pollard_rho大整数分解

    Given two positive integers a and b, we can easily calculate the greatest common divisor (GCD) and t ...

  6. HDU_3071 Gcd & Lcm game 【素数分解 + 线段树 + 状压】

    一.题目  Gcd & Lcm game 二.分析 非常好的一题. 首先考虑比较暴力的做法,肯定要按区间进行处理,对于$lcm$和$gcd$可以用标准的公式进行求,但是求$lcm$的时候是肯定 ...

  7. 数论入门2——gcd,lcm,exGCD,欧拉定理,乘法逆元,(ex)CRT,(ex)BSGS,(ex)Lucas,原根,Miller-Rabin,Pollard-Rho

    数论入门2 另一种类型的数论... GCD,LCM 定义\(gcd(a,b)\)为a和b的最大公约数,\(lcm(a,b)\)为a和b的最小公倍数,则有: 将a和b分解质因数为\(a=p1^{a1}p ...

  8. light oj 1236 分解质因数

    题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=70017#problem/H 题意:求满足1<=i<=j<=n ...

  9. Mathematics:GCD & LCM Inverse(POJ 2429)

    根据最大公约数和最小公倍数求原来的两个数 题目大意,不翻译了,就是上面链接的意思. 具体思路就是要根据数论来,设a和b的GCD(最大公约数)和LCM(最小公倍数),则a/GCD*b/GCD=LCM/G ...

随机推荐

  1. [你必须知道的.NET]第三十四回,object成员,不见了!

    发布日期:2009.10.30 作者:Anytao © 2009 Anytao.com ,Anytao原创作品,转贴请注明作者和出处. 在.NET世界了,object是公认的造物主,其麾下的7大成员, ...

  2. 初始BOM

    1.BOM(Browser Object Model),定义了操作浏览器的借口 2.常用的BOM对象:Window, History,Navigator,Screen, Location等 3.由于浏 ...

  3. linux下top命令查看cpu占用情况

    可以通过 top 命令来查看 CPU 使用状况.运行 top 命令后,CPU 使用状态会以全屏的方式显示,并且会处在对话的模式 -- 用基于 top 的命令,可以控制显示方式等等.退出 top 的命令 ...

  4. http://www.cnblogs.com/draem0507/archive/2013/02/01/2889317.html

    http://www.cnblogs.com/draem0507/archive/2013/02/01/2889317.html

  5. Spark源码分析环境搭建

    原创文章,转载请注明: 转载自http://www.cnblogs.com/tovin/p/3868718.html 本文主要分享一下如何构建Spark源码分析环境.以前主要使用eclipse来阅读源 ...

  6. Android 核心分析之十三Android GWES之Android窗口管理

    Android GWES之Android窗口管理1基本构架原理 Android的窗口管理是C/S模式的.Android中的Window是表示Top Level等顶级窗口的概念.DecorView是Wi ...

  7. static和const关键字

    C#与C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static.前者应用于普通变量和函数,不涉及类   面向过程 静态全局变量 静态全局变量在声明它的整个文件 ...

  8. [iOS]集成环信SDK然后运行时候crash了-[NSBundle initWithURL:]: nil URL argument'

    Crash的reason是-[NSBundle initWithURL:]: nil URL argument' 1.首先我是用cocoapods导入的环信的SDK.然后怎么运行怎么crash. 2. ...

  9. ActiveMQ简单的HelloWorld实例

    我们使用ActiveMQ为大家实现一种点对点的消息模型. 开发时候,要将apache-activemq-5.12.0-bin.zip解压缩后里面的activemq-all-5.12.0.jar包加入到 ...

  10. JVM垃圾回收机制总结(3) :按代垃圾收集器

    为什么要分代 分代的垃圾回收策略,是基于这样一个事实:不同的对象的生命周期是不一样的 . 因此,不同生命周期的对象可以采取不同的收集方式,以便提高回收效率. 在Java程序运行的过程中,会产生大量的对 ...