DuanHDcn 2017-08-07 09:36 采纳率: 0%
浏览 1201

ZOJ1003 Crashing Balloon 新思路

ZOJ1003是踩气球问题,网上已有很多解法。

我的思路是两个不等的正数num1和num2,如果num1小,交换两者值。

接下来判断num2是否可以分解为1到100之间的数的乘积,不能直接判断num1胜利。

接下来判断num1是否可以分解为1到100之间的数的乘积,不能直接判断num2胜利。

如若两个数都能分解,那么把num1和num2相乘,判断是否可以分解为1到100之间的数的乘积,能的话num1胜利,否则num2胜利。

我这么写得到的是WA,我想知道这个思路是否正确。如果不正确,请指出错误例子或说明,谢谢。

 #include <stdio.h>

int main()
{
    int a, b, c, i;

    while(~scanf("%d %d", &a, &b))
    {
        if(a < b)
        {
            c = a;
            a = b;
            b = c;
        }

        c = b;

        if(a <= 100)
        {
            printf("%d\n", a);
            continue;
        }

        for(i = 100; i >= 1; i--)
        {
            if(b % i == 0)
                b = b / i;
        }

        if(b > 1)
        {
            printf("%d\n", a);
            continue;
        }

        b = c;
        c = a;

        for(i = 100; i >= 1; i--)
        {
            if(a % i == 0)
                a = a / i;
        }

        if(a > 1)
        {
            printf("%d\n", b);
            continue;
        }

        a = c;
        c = a * b;

        for(i = 100; i >= 1; i--)
        {
            if(c % i == 0)
            {
                c = c / i;
            }
        }

        if(c > 1)
        {
            printf("%d\n", b);
            continue;
        }
        else
        {
            printf("%d\n", a);
            continue;
        }
    }

    return 0; 
}
  • 写回答

3条回答 默认 最新

  • threenewbee 2017-08-07 09:39
    关注

    把你的程序贴出来看,说思路难道还指望人家按照你的思路再写一遍?

    评论

报告相同问题?

悬赏问题

  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 shape_predictor_68_face_landmarks.dat
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料