当前位置: 首页 > 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.lryc.cn/news/614476.html

相关文章:

  • [GESP2023012 五级] 2023年12月GESP C++五级上机题题解,附带讲解视频!
  • 《算法导论》第 12 章 - 二叉搜索树
  • 三极管驱动电路的原理详解
  • GDB 调试全方位指南:从入门到精通
  • Go语言实战案例:用net/http构建一个RESTful API
  • Django缓存机制详解:从配置到实战应用
  • Java选手如何看待Golang
  • 疯狂星期四文案网第33天运营日记
  • 供电架构之供电构型分类
  • 题解:P13646 [NOISG 2016] LunchBox
  • Linux学习-数据结构(哈希表)
  • 代码随想录算法训练营第三十八天、三十九天|动态规划part11、12
  • 视频质量检测中准确率↑32%:陌讯多模态评估方案实战解析
  • 深入掌握Prompt工程:高效构建与管理智能模型提示词全流程实战
  • Node.js版本管理,方便好用
  • (1-9-2)Java 工厂模式
  • 解码华为云安全“铁三角”:用“分层防御”化解安全挑战
  • FFmpeg 视频旋转信息处理:3.4 vs 7.0.2
  • 剪映里面导入多张照片,p图后如何再导出多张照片?
  • centos系统配置防火墙
  • 基于深度学习的nlp
  • 2025.08.08 反转链表
  • 强化学习全流程开发:从环境搭建到智能体对弈的DQN与Actor-Critic实现
  • 使用 ast-grep 精准匹配指定类的方法调用(以 Java 为例)
  • TDSQL GTS文件说明
  • Mysql与Ooracle 索引失效场景对比
  • 大语言模型提示工程与应用
  • Node.js 》》数据验证 Joi 、express-joi
  • HarmonyOS SDK助力讯飞听见App能力建设
  • node.js 学习笔记2 进程/线程、fs