鱼C论坛

 找回密码
 立即注册
查看: 1875|回复: 7

最大公因数和最小公倍数!小白求助!!!

[复制链接]
发表于 2020-4-18 15:23:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
系统一直判断我的代码错误,我也不知道哪里错了,请给位帮忙看一下代码,谢谢谢谢了!!

下面是题目

输入格式
一共1行数据,包含2个整数m和n,之间使用一个空格分隔。
输出格式
输出2行,第一行为最大公约数,第二行为最小公倍数,每行行末都有一个换行符。
数据规模与约定
整数m的值约定为 1 ≤ m ≤ 1 000 000 000。
整数n的值约定为 1 ≤ n ≤ 1 000 000 000。
样例输入
32 48
样例输出
16
96
#include <stdio.h>
int main()
{
    int m, n, t, gcd, k;
    scanf("%d %d", &m, &n);
    if(m < n)//如果n》m就互换 
    {
        t = m; m = n; n = t;
    }
    if(n != 0)//最后分母不为0 
        { 
            for(k = 1; k < n; k++)//筛选能同时被m和n整除的最大数,为最大公因数 
            {
                if(m % k == 0 && n % k == 0)
                {
                    gcd = k;
                }
            }
            printf("%d\n", gcd);
            printf("%d\n", (m * n) / gcd);//最小公倍数 = (m * n)/ 最大公倍数 
        }
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-18 15:48:26 | 显示全部楼层
代码没有错,发一下你的错误描述
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-18 16:40:05 | 显示全部楼层
是不是超时了,用辗转相除法试试看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-18 17:14:05 | 显示全部楼层
eyys666 发表于 2020-4-18 15:48
代码没有错,发一下你的错误描述

也没有任何的报错,只是评分系统一直就说有两个评分点不给分。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-18 21:47:04 | 显示全部楼层
本帖最后由 耻思lhj 于 2020-4-18 21:49 编辑

应该是int的取值范围有问题,输入的值太大,可能下面m*n的时候会有问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-18 22:20:02 | 显示全部楼层
printf("%.lf\n", ((double)m * (double)n) / gcd);
不转成double进行m*n,值太大可能出错,实测
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-20 00:52:53 | 显示全部楼层
耻思lhj 发表于 2020-4-18 22:20
不转成double进行m*n,值太大可能出错,实测

系统不能够这让转,它要求的是整数输出,不能够浮点数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-20 13:05:47 | 显示全部楼层
int改成long long int类型,
输出用%lld
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-15 06:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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