利用Euclid算法求解两个数的最大公约数及逆 matlab
目录
问题呈现:
求解思路:
程序:
运行结果:
TIPS:
问题呈现:
利用Euclid算法,求两个正整数a , N的最大公因数,如果两个数互质,求出从1到N的正整数中a的逆。
求解思路:
求最大公因数可以利用Euclid算法,即辗转相除法;
求a和b的逆可以利用同余定理,即a和b ,b是从1到N的正整数,a和b关于模N的余数相同,那么a和b互余。
程序:
Euclid.m
%Euclid算法
function[c,b] = Euclid_mod(a , N)
dividend = max(a , N);
divisor = min(a , N);
while(divisor > 0)remainder = rem(dividend , divisor);dividend = divisor;divisor = remainder;
end
c = fprintf('a与N的最大公因数是%d\n',dividend);
if (dividend == 1)for i = 1 : Nremainder = rem(abs(a - i) , N);if (remainder == 0)b = fprintf('且在Z(N)数列中a的逆为%d\n',i);endend
end
主程序
%Euclid.text
clc;clear;
while truea = input('输入a的取值: ');if(a == 0)fprintf('成功退出');break;endN = input('输入N的取值: ');Euclid_mod(a,N);fprintf('当a为0时退出循环\n');
end
运行结果:
输入a的取值: 4
输入N的取值: 5
a与N的最大公因数是1
且在Z(N)数列中a的逆为4
当a为0时退出循环
输入a的取值: 7
输入N的取值: 4
a与N的最大公因数是1
且在Z(N)数列中a的逆为3
当a为0时退出循环
输入a的取值: 0
成功退出>>
TIPS:
1.只是介绍了一下具体流程,各位看官可以了解一下matlab其他求余的函数,辨析一下其中的区别,也会大有收获的;
2.定义函数的小技巧,和调用函数的小技巧要熟练掌握。
没什么要说的了,希望各位看官有所收获。如有必要请评论哦。瑞斯拜~~
利用Euclid算法求解两个数的最大公约数及逆 matlab相关推荐
- 算法(9)--两个数的最大公约数
两个数的最大公约数 1.辗转相除法求解两个数的最大公约数 2.更相减损术求解两个数的最大公约数 3.不严格理解 1.辗转相除法求解两个数的最大公约数 辗转相除法:两个正整数a和b(a>b)的最大 ...
- 如何求解两个数的最大公约数
#include <iostream> using namespace std; //暴力法求解最大公约数 int main() {int m,n,t;cout<<" ...
- 如何用计算机求特征值特征向量,利用QR算法求解矩阵的特征值和特征向量
利用QR算法求解矩阵的特征值和特征向量 为了求解一般矩阵(不是那种幼稚到shi的2 x 2矩阵)的特征值. 根据定义的话,很可能需要求解高阶方程... 这明显是个坑...高阶方程你肿么破... 折腾了 ...
- 【C语言】实现求两个数的最大公约数【四种算法】
题目 给定两个数,求这两个数的最大公约数 例如: 输入:20 40 输出:20 解题思路 最大公约数:即两个数据中公共约数的最大者 求解的方式比较多,暴力穷举.辗转相除法.更相减损法.Stein算法算 ...
- 利用 L-BFGS 算法求解基追踪问题_matlab
实例:利用 L-BFGS 算法求解基追踪问题_matlab 构建基追踪问题 L-BFGS 求解x 正则化系数 α\alphaα 为 555 正则化系数 α\alphaα 为 101010 结果可视化 ...
- 利用QR算法求解矩阵的特征值和特征向量
利用QR算法求解矩阵的特征值和特征向量 为了求解一般矩阵(不是那种幼稚到shi的2 x 2矩阵)的特征值. 根据定义的话,很可能需要求解高阶方程... 这明显是个坑...高阶方程你肿么破... 折腾了 ...
- ML之PLiR之LARS:利用LARS算法求解ElasticNet回归类型(包括类别编码+属性重要程度排序)问题(实数值年龄预测)
ML之PLiR之LARS:利用LARS算法求解ElasticNet回归类型(包括类别编码+属性重要程度排序)问题(实数值年龄预测) 目录 输出结果 设计思路 核心代码 输出结果 设计思路 核心代码 x ...
- ML之PLiR之Glmnet:利用Glmnet算法求解ElasticNet回归类型问题(实数值评分预测)
ML之PLiR之Glmnet算法:利用Glmnet算法求解ElasticNet回归类型问题(实数值评分预测) 目录 输出结果 1.Glmnet算法 实现代码 输出结果 0 2 1 2 2 2 3 3 ...
- ML之PLiR之LARS:利用LARS算法求解ElasticNet回归类型问题(实数值评分预测)
ML之PLiR之LARS:利用LARS算法求解ElasticNet回归类型问题(实数值评分预测) 目录 设计思路 输出结果 1.LARS 2.10-fold cross validation 实现代码 ...
- 利用函数求任意两个数之间的和
利用函数求任意两个数之间的和 <!DOCTYPE html> <html lang="en"><head><meta charset=&q ...
最新文章
- CentOS 7 Redis 3.2.8的安装和使用
- 关于javascript数据存储机制的一个案例。
- 架构师之路 — 数据库设计 — 关系型数据库的外键约束与关联
- xarray 笔记:DataArray
- why is the configuration.js being loaded?
- 8. Dropout and Strides For Larger Models
- 不是纸上谈兵,VR原来真的可以缓解抑郁症
- 【王道计组笔记】输入/输出设备磁盘
- 圆投影匹配算法描述及实现
- 精读45-180程序转弯模板
- 清华大学操作系统OS学习(十)——处理机调度
- doctest使用注意点 -- 省略号的使用
- win10计算机丢失msvcr,Win10系统打开软件提示丢失msvcr110.dll如何解决
- python 海龟 速度_Python中的高级turtle(海龟)作图
- 思科实验4.网络层:路由器IP地址配置
- Python3-正则表达式~爬取猫眼电影应用
- MySQL-老杜学习笔记
- 触发器 jackey
- 单元测试cpp:Stub
- Stamped读写锁