求高手c++编程.求输入两个数,计算其最小公倍数与最大公约数之差.用函数嵌套怎么把算好的最大公约数值传给计算最小公倍数的函数?
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/05 13:57:58
![求高手c++编程.求输入两个数,计算其最小公倍数与最大公约数之差.用函数嵌套怎么把算好的最大公约数值传给计算最小公倍数的函数?](/uploads/image/z/3990098-2-8.jpg?t=%E6%B1%82%E9%AB%98%E6%89%8Bc%2B%2B%E7%BC%96%E7%A8%8B.%E6%B1%82%E8%BE%93%E5%85%A5%E4%B8%A4%E4%B8%AA%E6%95%B0%2C%E8%AE%A1%E7%AE%97%E5%85%B6%E6%9C%80%E5%B0%8F%E5%85%AC%E5%80%8D%E6%95%B0%E4%B8%8E%E6%9C%80%E5%A4%A7%E5%85%AC%E7%BA%A6%E6%95%B0%E4%B9%8B%E5%B7%AE.%E7%94%A8%E5%87%BD%E6%95%B0%E5%B5%8C%E5%A5%97%E6%80%8E%E4%B9%88%E6%8A%8A%E7%AE%97%E5%A5%BD%E7%9A%84%E6%9C%80%E5%A4%A7%E5%85%AC%E7%BA%A6%E6%95%B0%E5%80%BC%E4%BC%A0%E7%BB%99%E8%AE%A1%E7%AE%97%E6%9C%80%E5%B0%8F%E5%85%AC%E5%80%8D%E6%95%B0%E7%9A%84%E5%87%BD%E6%95%B0%3F)
求高手c++编程.求输入两个数,计算其最小公倍数与最大公约数之差.用函数嵌套怎么把算好的最大公约数值传给计算最小公倍数的函数?
求高手c++编程.求输入两个数,计算其最小公倍数与最大公约数之差.用函数嵌套
怎么把算好的最大公约数值传给计算最小公倍数的函数?
求高手c++编程.求输入两个数,计算其最小公倍数与最大公约数之差.用函数嵌套怎么把算好的最大公约数值传给计算最小公倍数的函数?
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
void swap(int *x,int *y),Difference(int n1,int n2);
int GCD(int n1,int n2),LCM(int n1,int n2);
int main(){
int num1,num2;
cout<<"请输入两个正整数(空格隔开):";
cin>>num1>>num2;
swap(&num1,&num2);
Difference(num1,num2);
return 1;
}
void swap(int *x,int *y){
int temp;
if(*y>*x){
temp=*x;
*x=*y;
*y=temp;
}
}
int GCD(int n1,int n2){ // 求最大公约数
return (n1*n2)/LCM(n1,n2); // 两个数的最大公约数=两数的乘积/最小公倍数,
// 或者两个数的最小公倍数=两数的乘积/最大公约数.
}
int LCM(int n1,int n2){ // 求最小公倍数
int max=n1,mult=1,target;
bool IsFactor;
while (true){
target=mult*max;
IsFactor=true;
if((target%n1!=0)||(target%n2!=0)) IsFactor=false;
if(IsFactor) return target;
mult++;
}
}
void Difference(int n1,int n2){// 求两数的最小公倍数与最大公约数之差
// 在数学里,一般两个数的最小公倍数都是大于它们的最大公约数的.
printf("%d,%d的最小公倍数=%d 最大公约数=%d\n它们的差=%d\n",n1,n2,LCM(n1,n2),GCD(n1,n2),
LCM(n1,n2)-GCD(n1,n2));
}