ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

最小公倍数、最大公约数、质数因子

2022-05-28 18:33:05  阅读:188  来源: 互联网

标签:tmp 因子 公倍数 质数 最小 int 最大公约数


1、最大公约数

int gcd(int a, int b){
  int tmp = abs(a-b);
  while(tmp != 0){
    a = b;
    b = tmp;
    tmp = abs(a-b);
  }
  return b;
}

 

2、最小公倍数

(1)最小公倍数 = a*b/gcd(a,b);

(2)最小公倍数在[max(a,b),a*b]这个区间里,

for(int i = max(a, b); i <= a*b; i++){
  if(i%a == 0 && i%b == 0){
    cout << i << endl;
    break;
  }
}

 

3、质数因子

#include<iostream>
#include<cmath>
using namespace std;

int main(){
    long number;
    cin >> number;
    for(int i = 2; i <= sqrt(number); i++){//number>=4 
        while(number%i == 0){//可以整除,说明i是质数因子 
            cout << i <<" ";
            number = number/i;//得到的数看看能否被i再次整除,可以则输出,不可则i+1继续 
        }
    }
    if(number-1){//number<4
        cout << number;
    }
    return 0;
}

 

标签:tmp,因子,公倍数,质数,最小,int,最大公约数
来源: https://www.cnblogs.com/xinqimisa/p/16321534.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有