zoukankan      html  css  js  c++  java
  • ________________2058_______________后台数据不够。可能误判。

    //正确的代码。
    #include<stdio.h>
    #include<math.h>
    int main()
    {
        __int64 n,m,i,j,s,l,l1;
        while(scanf("%I64d%I64d",&n,&m)&&(n||m))//这个是短路运算符所以需要在n和m之间加一个括号。
        {
            l=sqrt(m*2);//理解为最长的情况下有几个连续数字之和可以为l//我感觉这里只是为了保险而已所以*2.如果不*2的话会约去小数。
            for(s=0;l>0;l--)
            {
                l1=m-(l-1)*l/2;
                if(l1%l==0)//判断首项(l1=a1*l)是不是在n内,如果在n内的话(首项是有整数l和a1得到的)将其除以l可以整除,就说明a1是整数
                {
                    if(l1/l+l-1>n)
                        continue;
                    printf("[%I64d,%I64d]
    ",l1/l,l1/l+l-1);
                    s=1;
                }
                
            }
            printf("
    ");
        }
    }
    //错误的代码
    #include<stdio.h>
    #include<math.h>
    int main()
    {
        __int64 n,m,i,j,s,l,l1;
        while(scanf("%I64d%I64d",&n,&m)&&(n||m))//这个是短路运算符所以需要在n和m之间加一个括号。
        {
            l=sqrt(m*2);//理解为最长的情况下有几个连续数字之和可以为l//我感觉这里只是为了保险而已所以*2.如果不*2的话会约去小数。
            for(s=0;l>0;l--)
            {
                l1=m-(l-1)*l/2;
                if(l1%l==0)//判断首项(l1=a1*l)是不是在n内,如果在n内的话(首项是有整数l和a1得到的)将其除以l可以整除,就说明a1是整数
                {
                    //if(l1/l+l-1>n)
                    //    continue;
                    printf("[%I64d,%I64d]
    ",l1/l,l1/l+l-1);
                    s=1;
                }
                
            }
            printf("
    ");
        }
    }

    后台数据不够,导致误判。例如输入5 15

  • 相关阅读:
    Hiveserver2高可用实现
    centos7 mysql数据库安装和配置
    ubuntu18.04 安装hadoop 2.7.3+hive 2.3.4
    imx6 RGB LCD
    imx6 KEY_ROW4 power output high fail
    ar1020 驱动移植 无效
    24C02 Twr
    undefined reference to `switch_dev_unregister'
    cannot open /proc/bus/usb/devices, No such file or directory
    imx6dl i2c4 support
  • 原文地址:https://www.cnblogs.com/A-FM/p/4994300.html
Copyright © 2011-2022 走看看