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

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.xdnf.cn/news/17412.html

相关文章:

  • 基于R语言,“上百种机器学习模型”学习教程 | Mime包
  • 手搓MCP全流程指南:从本地开发部署到PyPI公开发布
  • 快速了解svm算法
  • 使用Python将中文语音翻译成英语音频
  • 【无标题】无名管道
  • 论文精读(二)| 开源软件漏洞感知技术综述
  • UE5 图片9宫格切割
  • select ... for update阻塞
  • 云平台运维工具 ——Azure 原生工具
  • 创建MyBatis-Plus版的后端查询项目
  • 【Linux系统】万字解析,文件IO
  • Linux常见服务器配置(三):MariaDB数据库管理和WEB服务器
  • 【数据结构】哈希扩展学习
  • Vue 项目安全设置方案:XSS/CSRF 防护指南
  • 【Linux】Linux增删改查命令大全(附频率评级)
  • 嵌入式 Linux 驱动开发常见问题排查宝典(驱动开发篇)v1.0
  • imx6ull-驱动开发篇14——原子操作
  • WPF 动画卡顿
  • 机器学习支持向量机(SVM)
  • C++基础学习笔记
  • 谈谈SQL计算存储引擎中的索引和计算
  • 数据结构5-哈希表
  • AI搜索引擎——DeepSeek崛起 || #AIcoding·八月创作之星挑战赛# || 简单版
  • SwiftUI中的键盘快捷键、初始页面控制及网络权限管理解析
  • 安装部署K8S集群环境(实测有效版本)
  • SpringCloud基础
  • sqlite的sql语法与技术架构研究
  • 专题二_滑动窗口_将x减到0的最小操作数
  • 强遮挡场景误检率↓79%!陌讯多模态融合算法在充电桩占位检测的实战优化
  • 等保测评-Nginx中间件