当前位置: 首页 > article >正文

算法知识点————数论【最大公约数】【快速幂】【分解质因数】

结论1:两个互质的整数mn不能凑出的最大整数是(n-1)(m-1) -1

结论2:一个数的因数可以拆成n个质因数的乘积。
在这里插入图片描述
黄金分割:0.61803399

在数论中,如果两个或两个以上的整数的最大公约数是 1 ,则称它们为互质
最大公约数: 两数乘积=最大公约数*最小公倍数 ,如果是多个数的话就两个求完在和第三个求。

//辗转相除法
int gcd (int x,int y){
  int z = y;
  while(x%y != 0){
    z = x%y;
    x = y;
    y = z;
  }
  return z;
}

欧拉函数:小于等于n的正整数中与n互质的数的数目

在这里插入图片描述
快速幂算法logn
思想:每一步都把指数减半,而相应的底数做平方运算

typedef long long LL;

LL quick_qwp( LL a, LL b){
  LL res = 1;//任何数的0次幂都为1
  while(b > 0) {//逐位检查b的二进制位数
    if( b & 1){//检查b的最低位是否为1
     	 res = res*a;	 //如果b的最低位为1,则需要乘a
    }
    a = a*a;//底数a平方
    b>>1;//b右移一位
  }
  return res;
}

const int MOD=  998244353;
LL qpw(LL a,LL b){
    LL res =1;
    while( b > 0){
        if( b & 1) res = res * a % MOD;
        a = a * a % MOD;
        b>>=1;
    }
    return res;
}

分解质因数

for(LL i =2 ;i*i <= n ;i++){
  if(n % i == 0){ // i 因数
    //cnt++;//(求质因数个数)
    while(n % i == 0) n/=i;
   // cout<<i<<" ";//输出质因数
  }
}
if( n > 1 ) cnt++; 

http://www.kler.cn/a/298478.html

相关文章:

  • api开发如何在代码中使用京东商品详情接口的参数?
  • Yolo11改进:注意力改进|Block改进|ESSAformer,用于高光谱图像超分辨率的高效Transformer|即插即用
  • 代码随想录算法训练营day23
  • 精度论文:【Coordinate Attention for Efficient Mobile Network Design】
  • Visio 画阀门 符号 : 电动阀的画法
  • 【博主推荐】 Microi吾码开源低代码平台,快速建站,提高开发效率
  • 顶象图标点选模型识别
  • three.js线框模式
  • 滑动窗口系列(同向双指针)/9.7
  • IDEA加载工程报错Error Loading Project: Cannot load module demo.iml解决
  • 基于SpringBoot+Vue+MySQL的校园生活服务平台
  • 华为 HCIP-Datacom H12-821 题库 (9)
  • 第144天:内网安全-Linux权限维持OpenSSHPAM后门SSH软链接公私钥登录
  • 用华为智驾,开启MPV的下半场
  • 9.10-AutoAWQ代码解析
  • 【LeetCode:3153】所有数对中数位差之和(Java)
  • pytorch张量运算的广播机制
  • 多云架构下大模型训练的存储稳定性探索
  • fetch-event-source 如何通过script全局引入
  • Java设计模式中工厂模式与策略模式的区别
  • mysql 生产问题处理
  • 每个python程序员都应该早点知道的 6 个 Python 函数
  • SLAM面经(百度,华为,地平线,大疆,美团)
  • JavaWeb系列二十一: 数据交换和异步请求(JSON, Ajax)
  • 【C++ Qt day10】
  • springboot 整合 mybatis-plus