3.6 欧几里得算法课堂测试

(应用密码学实验报告)实验1 密码学数学基础 在Educoder平台进行实验根据每个实训的每个关卡要求完成代码提交和测评 阅读详情

使用欧几里得算法实现求两个数的最大公约数。

算法:

1.较大的数除以较小的数,若余数为零,则较小的数是这两个数的最大公约数。

2.否则将除数换为被除数,余数换为除数,转到1继续执行至余数为零。


201111621302

1.算法实现:

class Gys{
	//递归实现
	public int gcd(int m,int n){
		if(m<n){
			int tmp = m;
			m = n;
			n = tmp;
		}
		
		if(n == 0)
			return m;
		else
			return gcd(n,m%n);
	}
	
	//非递归实现
	public int gcd2(int m,int n){
		if(m<n){
			int tmp = m;
			m = n;
			n = tmp;
		}
		
		if(n == 0)
			return m;
		
		while(n>0){
			int tmp = m%n;
			m = n;
			n = tmp;
		}
		return m;
	}
}


2.测试上述算法:

import java.util.Scanner;

public class Marking {

	public static void main(String[] args) {
		//测试上述欧几里得算法
		System.out.println("请依次输入两个整数:");
		int n=0,m=0;
		Scanner scan = new Scanner(System.in);
		try {
			n = scan.nextInt();
			m = scan.nextInt();
			Gys g = new Gys();
			System.out.println("递归实现测试:"+n+"和"+m+"的最小公约数是:"+g.gcd(n,m));
			System.out.println("非递归实现测试:"+n+"和"+m+"的最小公约数是:"+g.gcd2(n,m));
		} catch (Exception e) {
			System.out.println("输入有误,请重新输入!");
			Marking.main(null);
		}
	}
}

3.测试结果: 


     

     

     

4.总结:

    算法经测试求两数最大公约数正确。             

算法设计与分析绪论(我们为什么要学算法,算法为什么这么卷)[第一人称] 零.前言 这学期我们开设了算法设计与分析这堂课,出于对这位大佬博导的喜爱和对算法的兴趣,我打算写一系列的博文来记录我的一个学习过程,博主在重要的部分录了音,将十分详细地还原授课内容,力求将大佬的思想和方法讲透彻,提升自己的同时,也将这些内容分享给大家。本课内容共20讲,不出意外的话我会写20+篇博文来记录这一过程。 本篇文章是为绪论,即简单介绍了一下算法,上学期看了《大话数据结构》这本书,很喜欢里面的讲课方式,下面我也将和老师身份互换,以第一人称上这堂课。 ... 阅读详情

相关推荐

KNN课堂(分类课堂(可用kd树/特征归一化提高精度)))

2. weights:可以是'uniform'或者是'distance',表示在计算最近邻的距离时考虑的权重,'uniform'表示所有最近邻的距离权重都一样,而'distance'表示距离越近的最近邻权重越大。3. algorithm:可以是'ball_tree'、'kd_tree'或者'brute',表示使用何种算法来计算最近邻的距离。4. leaf_size:整数值,表示在构建 ball_tree 或者 kd_tree 时考虑的叶节点的尺寸。# 将数据集分为训练集和测试集。

youho111的博客 553

欧几里得算法实现

欧几里得算法用于计算两个正整数的最大公约数。原理就是a和b的公约数(a>b)等于b和 mod(a,b)的公约数(mod(a,b)!= 0),也等于mod(a,b)和mod(b,mod(a,b))的公约数。 假如mod(a,b)== 0,那么b就是最大公约数。当然所有b的约数也是a,b的约数。 实现1: 这是非递归实现方式。首先确保a > b,如果a % b != 0,那么就计算b...

qq_35134066的博客 760

欧几里德算法

欧几里德算法

算法打卡之快速幂

例题1:快速幂 给定 n 组 ai,bi,pi,对于每组数据,求出 的值。 输入格式 第一行包含整数 n。 接下来 n 行,每行包含三个整数 ai,bi,pi。 输出格式 对于每组数据,输出一个结果,表示 的值。 每个结果占一行。 数据范围 1≤n≤100000, 1≤ai,bi,pi≤2×109 输入样例: 2 3 2 5 4 3 9 输出样例: 4 1 答案: import java.io.BufferedReader; import java.io.InputStreamReader; publ

weixin_51304175的博客 796

从EXIF到测绘:解码大疆影像元数据的实战应用指南

本文深入解析了大疆无人机影像元数据的实战价值,重点阐述了如何利用EXIF和XMP中的GPS、RTK、姿态角及相机内参等关键信息,提升测绘、三维重建及精准农业等项目的成果精度与效率。通过自动化质检脚本与行业应用场景剖析,指导从业者将元数据从信息转化为生产力,实现从拍照到专业测绘的跨越。

dell8的博客 527

利用featureCounts实现高效转录本定量:从比对到下游分析

本文详细介绍了利用featureCounts工具进行RNA-seq转录本定量的完整流程。从软件安装、输入文件准备,到核心命令参数解析与批量样本处理,再到将生成的计数矩阵无缝衔接至DESeq2进行差异表达分析,提供了从比对到下游分析的一站式实战指南。文章重点阐述了featureCounts在效率与易用性上的优势,并分享了常见问题排查与性能优化技巧,帮助研究者高效完成转录本定量这一关键步骤。

weixin_29069131的博客 318

简单数论听课总结(欧几里得算法)

一、欧几里得算法 1、欧几里得算法:欧几里得算法又称辗转相除法,用于计算两个整数a,b的最大公约数。 2、欧几里得算法定理: (1)定理:gcd(a,b)=gcd(b,a mod b) (2)证明:a可以表示成a=kb+r,则r=a mod b 假设d是a,b的一个公约数,则有a|d,b|d,而r=a-kb,因此r|d,因此d是(b,a mod b)的公约数,证明充分性; 假设

kt1776133839的博客 379

无人车路径规划方法汇总

无人车路径规划方法汇总

weixin_44380244的博客 2558

算法学习|题目:求两个整数的最大公约数_欧几里得算法(基于Java)

求两个整数的最大公约数 知识补充 例如:40与15的最大公约数为5 知识补充: 1)若数a能被数b整除(也称数b能整除数a),a就叫做b的倍数,b就叫做a的约数。 2)M与N的最大公约数:能够同时整除M、N的数中最大的一个数称为M与N的最大公约数。 3)整除的性质:若两个数都能被a整除,则它们的差(大数-小数)也能被a整除。 即:设数M、N(若M > N)能被a整除,则(M - N)也能被...

RUIRUI14的博客 1407

机器学习的低代码与无代码平台:便捷入门之路

机器学习领域正涌现出大量低代码和无代码平台,使非技术人员也能轻松应用AI技术。低代码平台(如PyCaret、H2O AutoML)需少量编程但灵活性强,而无代码工具(如Google Cloud AutoML、Teachable Machine)则完全无需编程基础。这些平台覆盖图像识别、文本处理、业务预测等多种场景,适合快速部署简单项目。但专业人士仍需注意,这些工具无法替代复杂场景下的定制化开发。随着技术进步,低门槛AI工具正在改变各行业的创新方式。

2501_90323865的博客 154

全国区块链职业技能大赛国赛考题前端功能开发

全国区块链职业技能大赛国赛考题区块链应用前端功能开发

本郡主是喵 1334

64位RSA算法

64位RSA算法 此为博主在学习密码学时完成的课堂任务,有关于64位的RSA密码算法。 64位的RSA算法 基本原理 RSA公开密钥密码体制的原理是:根据数论,寻求两个大素数比较简单,而将它们的乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。 基本流程 (1)任意选取两个不同的大素数 p 和 q 计算乘积 n = pq, F_n = (p - 1) (q - 1); (2)任意选取一个大整数 e,满足 gcd(e, F_n) = 1,整数 e 用做加密钥(注意: e 的选取是很容易的,例如.

qq_45832614的博客 2257

多角度模板匹配的模板创建技巧

基于形状的模板匹配多角度创建技巧

manuoo的专栏 3403

9.22“月饼杯”递归算法欢乐赛测试报告总结

本测试主要考查上周学习内容“递归算法”,题目主要是将原来学过或写过的算法改写成递归,比如说倒序数、欧几里得定理、斐波那契数列,难度较低;也有两个题难度较大,比如双色汉诺塔(汉诺塔是世界上最难玩的游戏之十,但这儿难度加大双色的哦,但xrq同学果断AC)、还有最后一题背包问题(其实是想考查大家学习递归的一个拓展简单搜索,标程是我自己写的,因为网上找了半天都不合适),总共39...

weixin_30389003的博客 91

TensorRT - 使用自定义层扩展 TensorRT

TensorRT 支持通过自定义插件扩展功能。开发者可以基于 IPluginV3 接口实现插件类,并通过 IPluginCreatorV3One 创建器类注册到 TensorRT 插件注册表。插件实现需要包含核心、构建和运行时三种能力,并通过静态或动态方式注册。最后可使用 addPluginV3() 将插件实例添加到 TensorRT 网络中。这种方法允许在标准层不满足需求时,使用自定义层扩展模型功能。

1148

分布式计算Ray框架面试题及参考答案

动态任务图执行引擎是一种能够根据任务之间的依赖关系和运行时的实际情况,动态构建和执行任务图的系统。在 Ray 中,动态任务图执行引擎允许任务在运行时根据数据可用性、计算资源状态等因素,灵活地决定后续任务的执行顺序和方式。对于 AI 应用来说,其往往具有动态性的特点。例如,在深度学习模型的训练过程中,可能需要根据训练的结果动态调整下一轮训练的参数、数据增强方式或者模型结构。动态任务图执行引擎可以很好地支持这些动态需求。它能够根据 AI 应用中各个任务的实时输出和依赖关系,动态地生成和调整任务图。

大模型大数据攻城狮的专栏 1350

2014年百度之星程序设计大赛 - 资格赛 1002 Disk Schedule(双调欧几里得旅行商问题)

Problem Description 有很多从磁盘读取数据的需求,包括顺序读取、随机读取。为了提高效率,需要人为安排磁盘读取。然而,在现实中,这种做法很复杂。我们考虑一个相对简单的场景。磁盘有许多轨道,每个轨道有许多扇区,用于存储数据。当我们想在特定扇区来读取数据时,磁头需要跳转到特定的轨道、具体扇区进行读取操作。为了简单,我们假设磁头可以在某个轨道顺时针或逆时针匀速旋转,旋转一周的时间是36

逆风的方向 更适合飞翔 2608

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

通义千问3-Reranker-0.6B:教育行业知识库应用

本文介绍了如何在星图GPU平台上自动化部署通义千问3-Reranker-0.6B镜像,赋能教育行业知识库精准检索。该模型专用于重排序任务,可显著提升教师备课、学生自主学习等场景中对教学案例、政策文件、课堂实录等内容的语义匹配准确率,解决‘搜得到但搜不准’的核心痛点。

weixin_33622085的博客 109

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

欧几里得证明:公理化思维的现代工程实践指南

公理化体系是形式化推理的根基,它通过不可证的初始命题(公设与公理)出发,经由演绎推理生成可靠结论——这一逻辑范式远不止于数学史,而是编程条件结构、法律因果链、产品需求验证等工程实践的底层操作系统。其核心价值在于构建抗脆弱的逻辑链条:每一步推导都可追溯、可验证、可复现。从尺规作图的具身认知到反证法的矛盾检测,从Python模拟证明依赖树到会议纪要逻辑审计,欧氏方法论正以构造性证明、演绎推理等热词所代表的思维工具,在算法设计、系统验证与跨领域决策中持续释放技术生命力。

aikunjiao3421的博客 435

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

杨校老师课堂之带你备战【C++】GESP五级_一个月规划

掌握埃氏筛法(复杂度 O(nlog⁡log⁡n)O(nloglogn))和线性筛(欧拉筛,复杂度 O(n)O(n)),重点练习质数判断、质因数分解(短除法)、唯一分解定理。手写归并排序(稳定,复杂度 O(nlog⁡n)O(nlogn))和快速排序(不稳定,平均 O(nlog⁡n)O(nlogn)),分析递归分治的过程。实现大整数加减乘除的模拟运算,重点练习字符串与数组的转换逻辑,解决如阶乘求和、大数乘法等典型问题。典型题目:区间调度、背包问题(部分背包)、找零问题,理解局部最优到全局最优的推导逻辑。

杨校的博客 1429

大数据深度学习|计算机毕设项目|计算机毕设答辩|PyQt基于课堂随机抽问系统(dlib+cnn)-大数据深度学习算法毕设毕业设计项目

在当今教育信息化的大背景下,课堂互动是提高教学质量和学生参与度的重要手段之一。传统的课堂提问方式往往存在一定的局限性,如可能倾向于提问固定的一小部分学生,而忽视了其他学生的参与。因此,开发一套能够实现课堂随机抽问的系统,对于促进教育公平、提高课堂互动性和趣味性具有重要意义。本研究基于PyQt框架,结合dlib人脸识别库和卷积神经网络(CNN)技术,设计与实现了一套课堂随机抽问系统,其研究背景与意义如下:首先,该系统有助于提高课堂管理的效率。通过自动化抽问过程,可以更有效地管理课堂时间,减少传统抽问方式中可能

2401_89210028的博客 625

最佳(optimal)置换算法_JavaScript 算法与数据结构

更多精彩,请点击上方蓝字关注我们!README.mdJavaScript 算法与数据结构本仓库包含了多种基于 JavaScript 的算法与数据结构。每种算法和数据结构都有自己的 README 并提供相关说明以及进一步阅读和 YouTube 视频。数据结构数据结构是在计算机中组织和存储数据的一种特殊方式,它可以高效地访问和修改数据。更确切地说,数据结构是数据值的集合,它们之间的关系、函数...

weixin_39983563的博客 727

密码学实验3记录

这次 RSA 实验让我深刻体会到了密码学 “理论与实践并重” 的特点。课堂上看似简单的公式,在实际实现时会遇到各种细节问题;而看似牢不可破的算法,在参数选择不当的情况下也会变得不堪一击。密码学是一门严谨的科学,任何一点疏忽都可能导致灾难性的后果。作为未来的计算机从业者,我们不仅要会使用加密工具,更要理解其背后的原理,才能设计出真正安全的系统。

W_lx_xd的博客 187

程序设计方法学--2019/03/22--“Hankson的趣味题”

程序设计方法学--2019/03/22--“Hankson的趣味题”一、基本要求二、提高要求三、算法设计1. 基础要求2. 提高要求四、调试和测试1. 调试(基本要求)2. 调试(提高要求)3. 测试(基础要求)4. 测试(提高要求)五、总结与归纳 一、基本要求 求N个数的最大公约数和最小公倍数。用C或C++或java或python语言实现程序解决问题。 1. 程序风格良好(使用自定义注释模板...

weixin_41570565的博客 521

C++实现RSA文件加密:从算法原理到工程实践完整指南

非对称加密是信息安全领域的核心技术,其核心原理基于大数分解等数学难题,通过公钥与私钥的配对实现安全通信。RSA作为最经典的非对称加密算法,其技术价值在于为数字签名、密钥交换和安全传输提供了基础保障,广泛应用于网络通信、数字证书和文件保护等场景。本文聚焦于RSA算法的工程实现,深入探讨了C++环境下的大数运算、快速模幂算法和文件分块处理等关键模块,并结合米勒-拉宾素性检验和PKCS#1填充方案,详细解析了如何构建一个完整的文件加密工具。通过从底层实现RSA核心流程,读者不仅能深入理解非对称加密的工作机制,还能

weixin_29323273的博客 245

KNN(K近邻算法)-python实现

KNN算法是一种基于实例的分类方法,通过计算待分类元素与训练样本的距离来预测类别。本文实现了一个加权KNN分类器,使用欧几里得距离计算相似度,并处理了平票情况。在鸢尾花数据集上的实验表明,当训练集占比达90%时,准确率可达100%。代码展示了数据分割、距离计算和加权处理等关键步骤,并记录了不同K值和训练比例下的准确率变化。结果表明,K值对结果影响较小,而训练数据量对准确率提升更显著。

2401_86399278的博客 661
下一篇: 第一周作业 -- 算法概论思维导图
MisterPan
博客等级 码龄14年 9粉丝 37原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值