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

  • 相关阅读:
    网页打开qq
    正则表达式
    微信小程序 如何使用globalData
    微信小程序中常见的typeof cb == “function” && cb(that.globalData.userInfo)
    MongoDB
    Elasticsearch学习
    Kafka学习之路 (一)Kafka的简介
    mybatis sql语句中转义字符
    定时任务
    mybatis insert into 返回id,useGeneratedKeys,keyColumn,keyProperty,parameterType
  • 原文地址:https://www.cnblogs.com/A-FM/p/4994300.html
Copyright © 2011-2022 走看看