C++编写程序。输入两个正整数,求它们的最大公约数和最小公倍数。

如题所述

#include<iostream.h>

#include<math.h>

void main()

{int a,num1,num2,temp;cout<<"please input two numbers:");

cin>>num1>>num2;

int ji = num1*num2;

if(num1<num2) /*保证第一数是较大的值*/

{temp=num1;num1=num2;num2=temp;}

扩展资料:

特征及特点:

向对象程序设计是一种新型的程序设计范型,这种范型的主要特征是:程序=对象+消息。

面向对象程序的基本元素是对象,面向对象程序的主要结构特点是:

第一、程序一般由类的定义和类的使用两部分组成,在主程序中定义各对象并规定它们之间传递消息的规律。

第二、程序中的一切操作都是通过向对象发送消息来实现的,对象接收到消息后,启动有关方法完成相应的操作。一个程序中涉及到的类,可以由程序设计者自己定义,也可以使用现成的类(包括类库中为用户提供的类和他人已构建好的)尽量使用现成的类,是面向对象程序设计范型所倡导的程序设计风格。

参考资料来源:百度百科-c++编程




温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-11-13
第2个回答  2014-10-14
#include <Windows.h>
#include <stdio.h>
#include <string.h>

// C++编写程序。输入两个正整数,求它们的最大公约数和最小公倍数
unsigned int maxDivisor(unsigned int a, unsigned int b)
{
    unsigned int divisor = (a < b) ? a : b;

    for (unsigned int i = divisor; i > 0; i--)
    {
        if (a % i == 0 && b % i == 0)
        {
            return i;
        }
    }

    return 1;
}

unsigned int minMultiple(unsigned int a, unsigned int b)
{
    unsigned int multiple = (a > b) ? a : b;

    for (unsigned int i = multiple; true; i++)
    {
        if (i % a == 0 && i % b == 0)
        {
            return i;
        }
    }

    return 1;
}
void main()
{
    unsigned int a = 10;
    unsigned int b = 25;

    unsigned int c = maxDivisor(a, b);
    unsigned int d = minMultiple(a, b);

    printf("maxDivisor = %d, maxDivisor = %d\n", c, d);

    system("pause");
}

第3个回答  推荐于2016-02-16
#include<iostream.h>
#include<math.h>
void main()
{
int a,num1,num2,temp;
cout<<"please input two numbers:");
cin>>num1>>num2;
int ji = num1*num2;
if(num1<num2) /*保证第一数是较大的值*/
{
temp=num1;
num1=num2;
num2=temp;
}
while((a=num1%num2)!=0)/*利用辗除法,直到a为0为止*/
{
num1=num2;
num2 = a;
} /*此时num2就是最大公约数*/
cout<<("the gcd is: %d\n",num2);
cout<<("the lcm is: %d\n",ji/num2);
}本回答被提问者采纳
相似回答