c语言求最大公约数和最小公倍数

/** 输入两个正整数m和n,求其最大公约数* 最大公约数:使用更相减损术* 更相减损术:* 1.两个数都是偶数:用2约简直到有一个数不是偶数,再使两者相减直到减数和差相等为止* 最大公约数=被减数和差相等的数 * 约掉几个2就乘以几个2* 2.两个数有一个为奇数使两者相减直到减数和差相等为止* 最大公约数=被减数和差相等的数** -----------------* 最小公倍数 = 两数之积 / 最大公约数*/#include <stdio.h>
#include <math.h>int getEqualValue(int c, int d)
{int e;e = c - d;if (e == d){return e;}else if (e > d){e = getEqualValue(e, d);}else if (e < d){e = getEqualValue(d, e);}return e;
}
int main()
{int m;int n;// 如果a是m和n的最大公约数int result;// i为约简的次数(除以2的次数)int i = 0;int minResult;puts("输入两个数m和n");scanf("%d %d", &m, &n);// 判断两个数是否都为偶数if (m % 2 == 0 && n % 2 == 0){// 如果都为偶数while (m % 2 == 0 && n % 2 == 0){m = m / 2;n = n / 2;i++;}// 判断a与b的大小,再相减直到减数与差相等if (m > n){result = getEqualValue(m, n) * pow(2, i);}else{result = getEqualValue(n, m) * pow(2, i);}minResult = m * n / result;printf("两个数都是偶数,最大公约数是%d\n", result);printf("最小公倍数是:%d", minResult);}else{if (m > n){result = getEqualValue(m, n);}else{result = getEqualValue(n, m);}minResult = m * n / result;printf("两个数都是奇数或者有一个数是奇数,最大公约数是%d\n", result);printf("最小公倍数是:%d", minResult);}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/9102.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【数据结构与算法】力扣 226. 翻转二叉树

题目描述 给你一棵二叉树的根节点 root &#xff0c;翻转这棵二叉树&#xff0c;并返回其根节点。 示例 1&#xff1a; 输入&#xff1a; root [4,2,7,1,3,6,9] 输出&#xff1a; [4,7,2,9,6,3,1]示例 2&#xff1a; 输入&#xff1a; root [2,1,3] 输出&#xff1a; [2,3,1…

应聘项目经理,软考证书会是一个加分项吗?

加分项是必需的&#xff0c;特别是IT行业的项目经理职位。您可以在各大招聘网站上搜索项目经理职位&#xff0c;前景好、薪资高、待遇好的项目经理岗位&#xff0c;基本上都有证书的要求。非IT行业项目经理&#xff0c;可以考虑PMP证书或者其他与专业相关的证书&#xff0c;比如…

低压MOS在多电平逆变器上的应用-REASUNOS瑞森半导体

一、前言 多电平逆变器&#xff0c;是一种新型逆变器。常规逆变器&#xff0c;在单桥臂上采用单个开关器件。多电平逆变器在单桥臂上包含多个串联开关器件&#xff0c;能够精细地控制输出电压。将逆变输出的正弦波进行微分&#xff0c;微分数量越多&#xff0c;越接近正弦波。…

C++ 多态(一)

一、多态定义 同一种操作作用于不同的对象时&#xff0c;可以产生不同的行为。在面向对象编程中&#xff0c;多态性是指通过继承和重写实现的&#xff0c;同一个方法在不同的子类中可以表现出不同的行为。多态性可以提高代码的灵活性和可扩展性&#xff0c;使得程序更易于维护…

Garden Planner for Mac v3.8.62注册激活版:园林绿化设计软件

Garden Planner for Mac是一款专为苹果Mac OS平台设计的园林景观设计软件。这款软件的主要功能是帮助用户设计梦想中的花园&#xff0c;包括安排植物、树木、建筑物和其他物体。 Garden Planner for Mac提供了一个包含1200多种植物和物体符号的库&#xff0c;这些符号都可以进行…

使用QLoRA在自定义数据集上finetuning 大模型 LLAMA3 的数据比对分析

概述: 大型语言模型(LLM)展示了先进的功能和复杂的解决方案,使自然语言处理领域发生了革命性的变化。这些模型经过广泛的文本数据集训练,在文本生成、翻译、摘要和问答等任务中表现出色。尽管LLM具有强大的功能,但它可能并不总是与特定的任务或领域保持一致。 什么是LL…

IO 多路复用 来了(最详细版)

IO多路转接select //为什么要写多进程/多线程的并发服务器&#xff1f; 在进行套接字通信的时候有一些阻塞函数&#xff1a;accept&#xff0c;read、recv&#xff0c;write、send 需要不停的检测客户端链接&#xff0c;需要不停的调用accept&#xff0c;需要占用一个线程或…

VULNCON CTF 2021 -- IPS

前言 这个题目折磨了我接近一天&#xff0c;服气了&#xff0c;题目不算难&#xff0c;但是利用写得的疯掉了~~~ 然后这个题目跟之前的不同&#xff0c;之前的题目都是实现一个内核模块&#xff0c;而这个题目是直接实现了一个系统调用&#xff08;&#xff1a;所以这里不存在…

卷积通用模型的剪枝、蒸馏---蒸馏篇--RKD关系蒸馏(以deeplabv3+为例)

本文使用RKD实现对deeplabv3+模型的蒸馏;与上一篇KD蒸馏的方法有所不同,RKD是对展平层的特征做蒸馏,蒸馏的loss分为二阶的距离损失Distance-wise Loss和三阶的角度损失Angle-wise Loss。 一、RKD简介 RKD算法的核心是以教师模型的多个输出为结构单元,取代传统蒸馏学习中以教…

重生之我要精通JAVA--第三周笔记

文章目录 继承构造方法访问特点为什么如何调用父类构造方法 this、super使用总结多态表现形式多态的前提调用多态的优势多态的弊端 包使用其他类的规则final常量 权限修饰符权限修饰符的分类权限修饰符的使用规则 代码块静态代码块 抽象方法和抽象类定义格式注意事项 继承 构造…

【通信】为什么用复形式表示信号

引入&#xff1a; 一个实例反映复信号和实信号对应关系&#xff08;幅度与相位&#xff09; 复信号的意义 在实际工程中&#xff0c;没有数学意义上的复数信号。再信号与系统中引入复数是为了&#xff1a; ①简化公式&#xff0c;特别是三角函数 ②复数的实部和虚部实际上代…

【Go专家编程——常见数据结构slice的实现原理】

1. slice slice又称动态数组&#xff0c;依托数组实现&#xff0c;可以方便地进行扩容和传递&#xff0c;实际使用中比数组更灵活。 2.基本操作 2.1 初始化 // 1.变量声明&#xff0c;此时为nil var s []int // 等价于使用new函数 s : *new([]int) // 2.字面量,空切片是指长…

20240508金融读报:风控分析拟人化国际信贷创新

1、金融借助AI等技术实现拟人化二次提升-风控分析拟人化&#xff1a;网商银行大雁系统搭建产业链图谱并利用大模型对齐分析&#xff1b;大山雀系统光谱识别作物种植、生长情况&#xff0c;预测产量从而决定授信额度&#xff1b;百灵系统识别理解客户信贷诉求&#xff08;感觉是…

VBA技术资料MF152:列出工作表中所有单元格的注释

我给VBA的定义&#xff1a;VBA是个人小型自动化处理的有效工具。利用好了&#xff0c;可以大大提高自己的工作效率&#xff0c;而且可以提高数据的准确度。“VBA语言専攻”提供的教程一共九套&#xff0c;分为初级、中级、高级三大部分&#xff0c;教程是对VBA的系统讲解&#…

FreeRTOS的任务详解、创建与删除

目录 1、任务详解 1.1 什么是任务&#xff1f; 1.2 任务的特点 1.3 任务的状态 1.4 任务的优先级 1.5 任务的堆和栈 2、任务的创建与删除 2.1 相关API 2.2 函数解析 2.2.1 xTaxkCreate() 2.2.2 xTaskCreateStatic() 2.2.3 vTaskDelete() 3、实战案例 3.1 创建两个…

JavaSwing课程设计-实现一个计算器程序

通过JavaSwing技术来实现计算器小程序&#xff0c;效果如下。 源码下载链接 源码下载 博主承诺真实有效&#xff0c;私信可提供支持

Android广播demo(系统广播,自定义广播)

1 系统广播demo 1.1 BootReceiver 的广播接收器类&#xff1a; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.widget.Toast;public class BootReceiver extends BroadcastReceiver {Overridep…

JavaEE 多线程详细讲解(2)

1.线程不安全分析 &#xff08;1&#xff09;线程不安全的主要原因就是&#xff0c;系统的抢占式执行&#xff0c;对于内核设计者来说&#xff0c;这是非常方便的一个执行方式&#xff0c;但是这却却导致线程不安全的问题&#xff0c;也有不抢占执行的系统&#xff0c;但是这种…

存储或读取时转换JSON数据

一、 数据库类型 二、使用Hutool工具 存储时将数据转换为JSON数据 获取时将JSON数据转换为对象 发现问题&#xff1a; 原本数据对象是Address 和 Firend但是转换完成后数据变成了JSONArray和JSONObject 三、自定义TypeHandler继承Mybatis的BaseTypeHandler处理器 package …

STL速查

容器 (Containers) 图解容器 支持随机访问 stringarrayvectordeque支持支持支持支持 string 类 构造函数 string(); ------创建一个空的字符串 例如: string str;string(const char* s); ------使用字符串s初始化string(const string& str); ------拷贝构造 赋值操作…