C语言求两个数的最小公倍数-创新互联

那一天在OJ刷题的时候,怎么也不能百分百通过......

我们提供的服务有:网站设计、网站制作、微信公众号开发、网站优化、网站认证、椒江ssl等。为上千余家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的椒江网站制作公司

看似很简单的题却做不对。

真的抓狂了,程序员哪有不发疯的?经分析自身问题,发现还是现有算法储备较少。

是的,现有算法储备。很多时候我们要用的算法并不是现用现成设计的,而是在现有算法的基础上进行改进。

个人认为算法储备也关系到算法能力。当遇到问题时,如果在以前接触过类似的问题,并学习了它的算法,那么当下的问题很快就能解决。

以前总是看不起那些简单算法,现在重新认识到,那些简单的算法也要去积累,总能够派上用处的。

目录

一、问题描述

二、什么是最小公倍数

三、算法设计

四、代码实现


一、问题描述

设计一个算法,求输入A和B的最小公倍数。

数据范围:1≤a,b≤100000

二、什么是最小公倍数

正整数A和正整数B的最小公倍数是指能被A和B整除的最小的正整数值。

三、算法设计

输入两个数,从较大的数开始,一个一个地去和两个数取余,直到两个数的余数都为0。

可以用if来设计a大于b时的循环和b大于a时的循环。

但是在本例中统一将第一个数作为较大的数,所以当输入的第一个数较小时就要交换两个变量的值。

此处不用第三个变量,实现两个变量的值的交换。

(14条消息) C语言不用第三个变量实现两变量值互换_工业废气的博客-博客_不用第三个字母交换 c语言

四、代码实现
#includeint main() {
    int a, b;
    int i=0;
    scanf("%d%d",&a,&b);
    if(b>a)
    {
        b=b^a;
        a=b^a;
        b=b^a;
    }
    for(i=a;;i++)
    {
        if(i%a==0&&i%b==0)
        break;
    }
    printf("%d",i);
    return 0;
}

经调试,发现得到了正确的结果

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


网页标题:C语言求两个数的最小公倍数-创新互联
链接URL:http://scyanting.com/article/dicpsh.html