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

Dixon‘s 因子分解法——C语言实现

Dixon's 分解法(也称为随机平方分解法)是一种基于平方同余的通用整数分解算法。

这个实现原理和费马分解法相同

/*
Dixon's 分解法C语言版Dixon's 分解法原理和费马分解法相同gcc -o dixon dixon.cpp -lm
*/#include <stdio.h>
#include <stdlib.h>
#include <math.h>#include <stdio.h>// 迭代计算GCD
int gcd(int a, int b) {while (b != 0) {int temp = b;b = a % b;a = temp;}return a;
}int dixon_factor(long int n) {long int x, xx, y, d, q, rt;long int i, j;rt = sqrt(n);//printf("S = %Zd\n\n",rt);x = rt;for (;;x++) {d = gcd(x, n);//printf("X = %ld\n\n",x); //8400if (1<d && d<n) goto end;xx = (x*x)%n;//printf("XX = %ld\n\n",xx); //368449y = sqrt(xx);//printf("Y = %ld\n\n",y); //607q = (x-y)%n;d = gcd(q, n);if (1<d && d<n) goto end;}return 0;end:return d;
};int main() {int n, f;f = dixon_factor(70191551);printf("P = %ld\n\n",f);return 0;
};

http://www.dtcms.com/a/322208.html

相关文章:

  • KLA/TENCOR ALTAIR 8900
  • [Shell编程] Shell 循环结构入门
  • VMware使用NAT模式,使本机与虚拟机在不同的网络,并且虚拟机可以上网
  • 洛谷 P1433 吃奶酪-普及+/提高
  • 嵌入式第二十三课 !!!树结构与排序(时间复杂度)
  • 浅试A2A
  • 01数据结构-图的概念和图的存储结构
  • PCA多变量离群点检测:Hotelling‘s T2与SPE方法原理及应用指南
  • ABP VNext + Fody AOP:编译期织入与性能监控
  • 嵌入式学习 day47 LED
  • ctfshow_萌新web9-web15-----rce
  • AJAX与axios框架
  • Vuex 数据共享
  • v-model双向绑定指令
  • Overleaf单栏双栏排版技巧
  • MWORKS 2025b:里程碑升级,Sysblock全栈替代,开启AI4MWORKS智能工程
  • F I R S T Q U A R T E R 2 0 2 5 - - M a y 2 2 2 0 2 5
  • 什么是Serverless(无服务器架构)
  • 数据结构---二叉树(概念、特点、分类、特性、读取顺序、例题)、gdb调试指令、时间复杂度(概念、大O符号法、分类)
  • Qwen Agent 入门介绍与简单使用示例
  • 基于STM32单片机的OneNet物联网环境检测系统
  • Vue 路由跳转
  • Vue3生命周期
  • ZK首次连接失败,第二次连接成功的问题解决方案
  • AI入门学习--如何对RAG测试
  • Flutter开发 Switch、SwitchListTile的基本使用
  • 嵌入式LINUX—————系统编程
  • Javascript中的一些常见设计模式
  • 小程序中使用echarts(2025/8/8)
  • 最近看到的提示词相关内容汇总