鱼C论坛

 找回密码
 立即注册
查看: 2229|回复: 6

求最大公约和最小公倍数,中的问题

[复制链接]
发表于 2012-2-10 17:09:21 | 显示全部楼层 |阅读模式
5鱼币
我已经写了代码,但是不知道为什么一运行就出错,不知道错在那里。
# include <stdio.h>
int main ()
{
        int m,n,i,a,b,c;
        scanf("%d %d",&m,&b);
        a=m;
        b=n;
        for(i=0;;i++)
        {
                if(m%n == 0)
                        break;
                else
                        m=m/n;
                        n=n/m;
        }
        printf("%d",n);
        c=a*b/n;
        printf("%d",c);
        return 0;
}


最佳答案

查看完整内容

#include int gcd(int a,int b){ int r; while(b){ r=a%b; a=b; b=r; } return a; } int main(){ int a=0,b=0,ax=0,bx=0; scanf("%d%d",&a,&b); ax=gcd(a,b); bx=(a*b)/ax; printf("最大公约数为%d\n最小公倍数为%d\n",ax,bx); return 0; }
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-2-10 17:09:22 | 显示全部楼层
#include<stdio.h>
int gcd(int a,int b){
        int r;
        while(b){
                r=a%b;
                a=b;
                b=r;
        }
        return a;
}
int main(){
        int a=0,b=0,ax=0,bx=0;
        scanf("%d%d",&a,&b);
        ax=gcd(a,b);
        bx=(a*b)/ax;
        printf("最大公约数为%d\n最小公倍数为%d\n",ax,bx);
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-2-10 17:40:48 | 显示全部楼层

  • 你写程序前要考虑到有可能出现错误的情况
    例如,你求最大公约数,如果a%b的值为0,说明b是最大公约数,但是如果你输入顺序相反了,变成b%a呢,还有,如果输入的不是正数呢
  • 所以有时候不是程序写错,是开始的时候就没有考虑到
  • 我分享下自己写的求任意两个数的最大公约数和最小公倍数,有什么不足或错误,请指出和求教
  • #include<stdio.h>
    void main()
    {
      int a1,a2,i,min,gys,gbs;

  •   printf("请输入两个数:\n");

  •   scanf("%d%d",&a1,&a2);

  •   while(a1<0||a2<0)
      {   printf("please input positive number:\n");
          scanf("%d%d",&a1,&a2);
      }
      
      min=a1<a2?a1:a2;

  •   for(i=1;i<=min;i++)
      {
        if(a1%i==0&&a2%i==0)  
       gys=i;
       gbs=a1*a2/gys;
      }

  •    printf("最大公约数:\n%d\n最小公倍数:\n%d\n",gys,gbs);

  • }

评分

参与人数 1鱼币 +3 收起 理由
珍宝 + 3 也是不错的答案

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-2-10 18:44:05 | 显示全部楼层
那如果求2个正数的最大公约数和最小公倍数呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-2-10 18:47:44 | 显示全部楼层
代码没什么错误,一运行,输入2个数后就出现 1.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-2-10 19:51:10 | 显示全部楼层
你这句话错了
你的m n未附值
a=m;
        b=n;看仔细这个
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-2-10 19:52:13 | 显示全部楼层
还有程序也写错了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-12 18:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表