求一组数的最大公因数和最小公倍数

求两个数的最大公因数和最小公倍数

1.辗转相除法
2.更相减损术
这里采用辗转相除法

#include <iostream>
using namespace std;int main()
{int i, j;cin>>i;cin>>j;while( j!=0 ){i = i % j;j = j % i;           //此算法不可靠,当进行i=i%j;使得i=0时会造成j=j%i;出错}cout<<i<<endl;return 0;
}

基本运算是:k = i % j;
为了避免前文的错误,继续利用k = i % j;
被除数当作下一次运算的除数,余数作被除数。
即:
i = j;
j = k

#include<iostream>
#include<cmath>
using namespace std;int function(int i,int j);int main()
{int i,j,x,y;cout<<"请输入一个正整数:"<<endl;cin>>i;cout<<"请输入另一个正整数:"<<endl;cin>>j;x = function(i,j);y = i*j/x;cout<<i<<"和"<<j<<"的最大公约数是:"<<x<<endl;cout<<i<<"和"<<j<<"的最小公倍数是:"<<y<<endl;return 0;
}int function(int i,int j)
{int k;if(i == 0||j == 0)return 0;while(j!=0){k = i%j;i = j;j = k;}return i;
}

接下来用数组将其扩展为求一组数的最大公因数和最小公倍数。

基本思路是先求出前两个整数的最大公因数,再用这个因数对之后的数求因数(这个过程可以使用循环)。

#include<iostream>
#include<string>
using namespace std;int function(int a, int b)
{int k;if(a == 0||b == 0)return 0;while(k != 0){k = a % b;a = b;b = k;}return a;
}void main()
{int i,k,l,a,X[20];cout<<"请输入一组整数:(以‘-1’结尾)";for(a = 0;a<20;a++){cin>>X[a];if(X[a] == -1)break;}k = function(X[0],X[1]);for(i = 2;i < a;i++){k = function(k,X[i]);}for(i = 0,l = k;i < a;i++){l *= X[i];l /= k;}cout<<"这组数的最大公因数为:"<<k<<endl;cout<<"这组数的最小公倍数为:"<<l<<endl;
}

求一组数的最大公因数和最小公倍数相关推荐

  1. 求一组数的最大公约数和最小公倍数

    求一组数的最大公约数和最小公倍数 问题描述 1.[简单练习]求N个数的最大公约数和最小公倍数 2.[提高练习]Hanks博士是BT(Bio-Tech,生物技术)领域的知名专家,他的儿子名叫Hankso ...

  2. 求两数最大公约数和最小公倍数(详解)

    求两数最大公约数和最小公倍数 方法一:单独求解最小公倍数 若大数m是小数n的倍数,则大数m为所求的最小公倍数:若不是,另寻找一个能同时被两个整数的自然数.找到第一个后,break终止循环. 终止条件: ...

  3. 如何用EXCEL求一组数的方差…

    原文地址:如何用EXCEL求一组数的方差和标准差以及均值 作者:高卓如 求一组数的方差:    点击想放方差的表格空白处,然后在上面的窗口中的FX右边的窗口中输入"=VAR(数组起始位置:数 ...

  4. 6-3 求一组数中的平均值及最大值 (10 分)

    本题要求实现一个函数,求一组数的平均值.最大值. 函数接口定义: float Fun( int *p, int n,int *max); 其中 p.n.max 都是用户传入的参数.函数求数组中n个元素 ...

  5. 6-4 求一组数中的最大值、最小值和平均值

    6-4 求一组数中的最大值.最小值和平均值 编写函数,求一组数中的最大值.最小值和平均值. 函数接口定义: float fun(int a[],int n,int *max,int *min); 其中 ...

  6. python求一组数中最大数_python如何求一组数的最大值?_后端开发

    php中session用法详解_后端开发 PHP中的session默认情况下是使用客户端的Cookie,当客户端的Cookie被禁用时,会自动通过[Query_String]来传递,其中[sessio ...

  7. c语言中求大于的函数,c语言编写函数,求一组数中大于平均值的数的个数.

    C语言编写程序 给定一组数,求大于0,等于0,小于0的数据个数 #define N 10 main(){int num1=0,num2=0,num3=0,i;for(i=0;i 一道C语言题目:求一组 ...

  8. 用java求一组数的平均值

    用java求一组数的平均值 使用java中的数组和for循环 public class pingjun { public static void main(String[] args) {int su ...

  9. 求一组数中的最大值和最小值

    Description 给定一组数,求它们中的最大值和最小值. Input 首先是一个整数n,表示这组数据的个数. 然后是n个整数,中间用空格分隔. Output 输出最大值和最小值,中间用" ...

最新文章

  1. 基于TCP协议的socket通信
  2. python字符串能减吗_在python中减去两个字符串(Subtract two strings in python)
  3. mysql 5.7.18 winx64安装配置方法
  4. 通信原理实验c语言,基于LabVIEW软件的通信原理实验教学平台设计方案
  5. ‘分享到’侧边栏制作
  6. 【重点BFS】LeetCode 127. Word Ladder
  7. SQL Server T—SQL 基本编程
  8. python之 前端HTML/CSS基础知识学习笔记
  9. 记录一下树莓派开机启动失败 进入紧急模式 原因
  10. 计算机维修与维护怎么学,做电脑维修需要学习哪些知识呢?
  11. CentOS7—Firefox—截图工具—fireshot插件
  12. linux无法更改屏幕亮度调节软件,在Deepin系统中安装闭源显卡驱动后屏幕亮度无法调节的解决...
  13. JAVA把日期转换为年月日_在Java中将每年的日期转换为每月的日期
  14. PDF转word之后的结果事图片格式,如何改成.doc或.docx格式
  15. 系统调用【简单总结】
  16. 雷电模拟器连接android studio教程
  17. OSPF协议介绍➌(认证、汇总扩展、LSDB的保护特性、缺省路由、附录E、选路规则、SPF算法、NP+E位、FA地址)
  18. 最新搜狗泛目录程序,搜狗站群泛目录,搜狗蜘蛛蜘蛛池(图文)
  19. matlab实现nc文件批量转tif文件
  20. 幼儿园计算机教案 认识画图,信息技术教案《认识画图》

热门文章

  1. 系统自学R的第十二天#参考书籍《R语言编程艺术》
  2. wireshark应用和数据包简析
  3. NLP实践-SwiftKey预测输入法(一)
  4. linux在文件最后追加,Linux 向文件末尾追加命令
  5. VALSE 文档图像智能报告整理
  6. 「视频直播技术详解」系列之三:编码和封装
  7. 3年Java面试准备
  8. SE Springer小组《Spring音乐播放器》可行性研究报告一、二
  9. 2018手机号码正则表达式
  10. 用css实现简单的动画——“奔跑的小子”(有知识梳理和图片)