C++求四个正整数最大公约数的方法_C 语言

来源:脚本之家  责任编辑:小易  

我之前曾经在ACM上做的求N个整数的最小公倍数,整体思想:利用辗转相除两个两个的求,例如:12 24 32,则先求12和24的最大公约数L1(假设为L1),再求L1和32的最大公约数,即为12 24 32的最大公约数.我略微修改下.includeusing namespace std;int LCM(int m,int n)/辗转相除{int a=m,r,b=n;while(n){r=n;n=m%n;m=r;}return a/m*b;如果用这个return,则返回的是两个整数的最小公倍数return m;如果用这个return,则返回的是两个整数的最大公约数}int main(){int n,*p;while(cin>>n){p=new int[n];for(int i=0;i;i+)cin>>p[i];for(i=0;i;i+)p[i+1]=LCM(p[i],p[i+1]);cout[i];}return 0;}这是n个整数的方法,两个整数的不言而喻了吧,还不懂话再问我www.zgxue.com防采集请勿采集本网。

本文实例讲述了C++求四个正整数最大公约数的方法。分享给大家供大家参考,具体如下:

#include<stdio.h>int gcd(int a,int b)/最大公约数 { int m,n,r;m=a>=b?a:b;m保存较大数 n=a;n保存较小数 r=m%n;求余数 while(r!0)/辗转相除 { m=n;n=r;r=m%n;} return n;返回最大公约数 } int

/** 作 者: 刘同宾* 完成日期:2012 年 11 月 16 日* 版 本 号:v1.0** 输入描述: 输入四个正整数,输出其最大公约数。* 问题描述:* 程序输出:* 问题分析:略* 算法设计:略*/#include<iostream>using namespace std;int f(int,int);int g(int,int,int,int);int main(){ int a,b,c,d; cout<<"请输入四个正整数:"<<endl; cin>>a>>b>>c>>d; cout<<"最大公约数为:"<<g(a,b,c,d)<<endl; return 0;}int f(int a,int b){ int m; while(b>0) { m=a%b; a=b; b=m; } return a;}int g(int a,int b,int c,int d){ int i,j,k; i=f(a,b); j=f(c,d); k=f(i,j); return k;}

思路:先求最大公约数,再让两个数相乘,再除最大公约数即可。include int main() { int a,b,c,d,m,n,i;scanf(\"%d%d\",&m,&n);(输入两个数) for(i=m;i>=1;i-) {a=m%i;b=n%i;(令m,n同时除以一个

运行效果如下图所示:

#include<stdio.h>/最大公因子,最小公倍数 void main() { int a,b,num1,num2,temp;scanf(\"%d%d\",&num1,&num2);if(num1) { temp=num1;num1=num2;num2=temp;} a=num1;b=num2;while(b!0) { temp=a%b

希望本文所述对大家C++程序设计有所帮助。

/输入的两个数请用空格分隔,如:12 18 include int main() { int p,r,n,m,temp;printf(\"请输入两个正printf(\"它们的最大公约数为:%d\\n\",n);printf(\"它们的最小公约数为:%d\\n\",p/n);return 0;}

测试输入和输出都没什么问题,但是main函数有返回值,在程序退出之前cout;}}加一行 return 0;}修改后程序如下:includeusing namespace std;int main(){unsigned int x,y,c;cout;while(cin>>x>>y){if(x>y){while(y!0){c=x%y;x=y;y=c;}cout最大公约数为:";}else{while(x!0){c=y%x;y=x;x=c;}cout;}}return 0;}编译时报警消失,应该问题已解决若满意请及时采纳,谢谢内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • js判断输入是否为正整数、浮点数等数字的函数代码
  • 正则文本框只能输入正整数
  • javascript正则表达式校验非零的正整数实例
  • jquery 正整数数字校验正则表达式
  • js只能输入正整数的简单实例
  • 一种求正整数幂的高效算法详解
  • 只能输入小于最大数且是正整数的脚本
  • 使用javascript判断用户输入的是否为正整数(两种方法)
  • javascript正则表达式校验非正整数实例
  • c++初学者之根据输入的任何一个正整数,输出可能被表示的连续正整数
  • jquery判断正整数整理小结
  • visual studio 2019配置opencv4.1.1详细图解教程
  • 深入理解数组指针与指针数组的区别
  • c++ decltype类型说明符
  • visual studio 2019工具里添加开发中命令提示符的方法
  • c++基于递归和非递归算法判定两个二叉树结构是否完全相同(结构和
  • c语言实现字母大小写转换的方法
  • c++实现病人就医管理系统
  • c语言高效实现向量循环移位
  • c++ 中的swap函数写法汇总
  • c++小知识:尽可能使用枚举类
  • C++新手问题 求两个正整数的最大公约数。
  • 输入五个正整数,算最大公约数,c++求代码
  • C++求两个正整数的最大公约数和最小公倍数
  • c++输入两个正整数求它们的最大公约数和最小公倍数。
  • 用C++求几个整数的最大公约数
  • 用c++编程:求两个正整数的最大公约数和最小公倍数
  • 用c++循环语句求两个正整数的最大公约数和最小公倍数
  • 输入两个正整数m和n,求其最大公约数和最小公倍数。c++
  • 求两个正整数的最大公约数和最小公倍数的C++函数
  • C++编写程序。输入两个正整数,求它们的最大公约数和最小公倍数。
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全c#教程vbvb.netc 语言java编程delphijavaandroidiosswiftscala易语言汇编语言其它相关首页js判断输入是否为正整数、浮点数等数字的函数代码正则文本框只能输入正整数javascript正则表达式校验非零的正整数实例jquery 正整数数字校验正则表达式js只能输入正整数的简单实例一种求正整数幂的高效算法详解只能输入小于最大数且是正整数的脚本使用javascript判断用户输入的是否为正整数(两种方法)javascript正则表达式校验非正整数实例c++初学者之根据输入的任何一个正整数,输出可能被表示的连续正整数jquery判断正整数整理小结visual studio 2019配置opencv4.1.1详细图解教程深入理解数组指针与指针数组的区别c++ decltype类型说明符visual studio 2019工具里添加开发中命令提示符的方法c++基于递归和非递归算法判定两个二叉树结构是否完全相同(结构和c语言实现字母大小写转换的方法c++实现病人就医管理系统c语言高效实现向量循环移位c++ 中的swap函数写法汇总c++小知识:尽可能使用枚举类c语言程序设计50例(经典收藏)c语言10个经典小程序c语言字符串操作总结大全(超详细c语言文件操作函数大全(超详细)c语言字符数组与字符串的使用详解c语言运算符优先级列表(超详细)c语言/c++中如何产生随机数c++中的string常用函数用法总结深入理解c++中public、protectedc++常用字符串分割方法实例汇总浅谈c++ vector和map的遍历和删除对象c++ 17标准正式发布! 更简单地编写和维护c语言在头文件中定义const变量详解c语言实现简单航班管理系统visual studio2000系列版本安装opengl的图c++控制台循环链表实现贪吃蛇c语言中函数参数的入栈顺序详解及实例dword ptr指令详细解析c++设计模式之原型模式详解设计模式中的中介者模式在c++编程中的
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved