用第二种法案求最大公约数和最小公倍数应注意的问题。

#include<stdio.h>
#include<string.h>
int main()

{
    long long int m,n,i,c;
    scanf("%lld %lld",&m,&n);
    if(m<n)
    {
        c=m;
        m=n;
        n=c;
    }
    for(i=m;i>0;i--)
    {
        if(m%i==0&&n%i==0)
        {
            printf("%lld %lld",i,(m*n)/i);
             break;
        }

    }
    return 0;
}

定义i的变量时应注意,i是干什么的,在题中,i是表示m,n,而m,n是long long 型的,所以,i应该也是long long 型的,不应该是int 型的,还有break的位置应该注意。(对我而言,break的位置,刚开始还以为放在if语句外面可以,但是程序在脑子中执行几次,才发现,当不满足条件的时候,怎么办?)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值