实现扩展欧几里德算法实验报告

实现扩展欧几里德算法实验报告

一、 扩展欧几里德算法问题简介

对于不完全为 0 的非负整数 a ,b ,gcd (a ,b )表示 a ,b 的最大公约数,必然存在整数对 x ,y ,使得 gcd (a ,b )=ax+by。

二、 扩展欧几里德算法设计方法简介

欧几里德算法又称辗转相除法,用于计算两个整数a,b 的最大公约数。其计算原理依赖于下面的定理:

定理:gcd(a,b) = gcd(b,a mod b)

证明:a 可以表示成a = kb + r,则r = a mod b

假设d 是a,b 的一个公约数,则有

d|a, d|b,而r = a - kb,因此d|r

因此d 是(b,a mod b)的公约数

假设d 是(b,a mod b)的公约数,则

d | b , d |r ,但是a = kb +r

因此d 也是(a,b)的公约数

因此(a,b)和(b,a mod b)的公约数是一样的,其最大公约数也必然相等,得证

三、 程序代码

#include

#include

using namespace std;

int x,y,q;

void extend_Eulid(int a,int b)

{

if(b == 0)

{

x = 1;y = 0;q = a;

}

else

{

extend_Eulid(b,a%b);

int temp = x;

x = y;

y = temp - a/b*y;

}

}

int main()

{

}

int a,b; cout>a; cout>b; if(a

四、 算法介绍

扩展欧几里德算法是用来在已知a, b 求解一组x ,y 使得ax+by = Gcd(a, b) =d(解一定存在,根据数论中的相关定理) 。扩展欧几里德常用在求解模线性方程及方程组中。

五、 实验数据

a=22

b=33

六、 实验结果

七、 实验体会

欧几里得算法应该算是在这两个实验中比较简单的一个程序,但是就是这样的算法,我在实际操作中也遇到了很多的问题,有些是输入法问题,有些是运算问题,所幸的是最后终于完成了。

实现扩展欧几里德算法实验报告

一、 扩展欧几里德算法问题简介

对于不完全为 0 的非负整数 a ,b ,gcd (a ,b )表示 a ,b 的最大公约数,必然存在整数对 x ,y ,使得 gcd (a ,b )=ax+by。

二、 扩展欧几里德算法设计方法简介

欧几里德算法又称辗转相除法,用于计算两个整数a,b 的最大公约数。其计算原理依赖于下面的定理:

定理:gcd(a,b) = gcd(b,a mod b)

证明:a 可以表示成a = kb + r,则r = a mod b

假设d 是a,b 的一个公约数,则有

d|a, d|b,而r = a - kb,因此d|r

因此d 是(b,a mod b)的公约数

假设d 是(b,a mod b)的公约数,则

d | b , d |r ,但是a = kb +r

因此d 也是(a,b)的公约数

因此(a,b)和(b,a mod b)的公约数是一样的,其最大公约数也必然相等,得证

三、 程序代码

#include

#include

using namespace std;

int x,y,q;

void extend_Eulid(int a,int b)

{

if(b == 0)

{

x = 1;y = 0;q = a;

}

else

{

extend_Eulid(b,a%b);

int temp = x;

x = y;

y = temp - a/b*y;

}

}

int main()

{

}

int a,b; cout>a; cout>b; if(a

四、 算法介绍

扩展欧几里德算法是用来在已知a, b 求解一组x ,y 使得ax+by = Gcd(a, b) =d(解一定存在,根据数论中的相关定理) 。扩展欧几里德常用在求解模线性方程及方程组中。

五、 实验数据

a=22

b=33

六、 实验结果

七、 实验体会

欧几里得算法应该算是在这两个实验中比较简单的一个程序,但是就是这样的算法,我在实际操作中也遇到了很多的问题,有些是输入法问题,有些是运算问题,所幸的是最后终于完成了。


相关内容

  • 算法试验一_求最大公约数实验报告_
  • 昆明理工大学信息工程与自动化学院学生实验报告 ( 2012 - 2013 学年 第 1 学期 ) 课程名称:算法设计与分析 开课实验室:信自楼应用.网络机房445 2012 年10月25日 一.上机目的及内容 1. 上机内容 求两个自然数m 和n 的最大公约数. 2. 上机目的 (1)复习数据结构课 ...

  • 最大公约数三种办法,计数器,流程图
  • 昆明理工大学信息工程与自动化学院学生实验报告 ( 2012 - 2013 学年 第 1 学期 ) 课程名称:算法设计与分析 开课实验室: 信自楼机房442 2012 年10月 18日 一.上机目的及内容 1. 上机内容 求两个自然数m 和n 的最大公约数. 2. 上机目的 (1)复习数据结构课程的相 ...

  • [信息安全原理与技术]完整版习题答案
  • <信息安全原理与技术>习题参考答案 郭亚军,宋建华,李莉 清华大学出版社 第1章 1.1 主动攻击和被动攻击是区别是什么? 答:被动攻击时系统的操作和状态不会改变,因此被动攻击主要威胁信息的保密性.主动攻击则意在篡改或者伪造信息.也可以是改变系统的状态和操作,因此主动攻击主要威胁信息的完 ...

  • 密码学基础课程设计指导书
  • <现代密码学基础> 课程设计指导书 杨柳 编 湖南科技大学计算机科学与工程学院 2014年12月 一.概述 本课程在简要复习数学基础知识之后,探讨了密码学研究的基本问题:通过不安全的通信媒介如何进行安全通信.也可以理解为关心任何希望限制不诚实者达到目的的问题,把度量和评价一个密码体制(协 ...

  • 氢原子光谱实验求里德伯常量的数据处理方法
  • 第28卷 第5期 2008年5月 物 理 实 验 PHYSICSEXPERIMENTATION Vol.28 No.5 May,2008 氢原子光谱实验求里德伯常量的数据处理方法 岳峻峰1,2,常 缨1,朱鹤年1 (1.清华大学物理系,北京100084;2.北华大学公共基础部,吉林吉林132013) ...

  • 基于路径规划的智能机器人控制实验
  • I SSN 1 0 2 - 4 9 6 0 5C N 11 - 2 0 3 4 / T 实验技术与管理 E p x e r i e m n t a T l e c h o n l o g ya n d Ma n a e g m e n t 第27卷第12期201年2月 Vo l . 27N o . ...

  • 聚类分析方法
  • 第一章 Microarray 介绍 1.1 生物信息处理 基于对生物体"硬件"和"软件"的认识 ,提出暂时地撇开生物的物理属性 , 着重研究其信息属性 ,从而进入到生物信息处理 (关于生命硬件的信息和软件的信息 ,即生理信息和生命信息 )的一个分支 ,生物信息 ...

  • 氢原子光谱和里德伯常数的测量-高分研究性报告
  • 氢原子光谱和里德伯常数 的测量 Contents 摘要 . ....................................................................................... 4 一.实验目的........................ ...

  • 基于kNN算法的异常行为检测方法研究
  • 计 算 机 工 程 第 33 卷 第7期 Vol.33 No.7 Computer Engineering · 安全技术 · 文章编号:1000-3428(2007)07-0133-02 文献标识码:A 2007年4月 April 2007 中图分类号:TP393.01 基于k NN 算法的异常行为 ...