码迷,mamicode.com
首页 > 其他好文 > 详细

程序出过的错合集

时间:2019-07-20 10:14:56      阅读:106      评论:0      收藏:0      [点我收藏+]

标签:a*   输出   lld   检查   space   stream   page   exce   lse   

1.

  错误类型:output limit exceed:

技术图片

技术图片

 

#include <iostream>
#include <cmath>
using namespace std;

int main()
{
    long long a;//此处使用的int,在输入为159487时,越界为负数,从而无限循环输出下去。
    
    scanf("%lld",&a);
    
    while(a!=1){
        if(a%2){
            long long odd_value = a*3+1;
            printf("%lld*3+1=%lld\n",a,odd_value);
            a=odd_value;
        }
        else{
            long long even_value=a/2;
            printf("%lld/2=%lld\n",a,even_value);
            a=even_value;
        }
    } 
    printf("End\n");
    
    return 0;
}

 总结:

Output Limit Exceeded 多数发生在递归遍历的过程中,多输出了一些内容(比如说空格)。Output Limit Exceeded还指如果输入某一组数据,你的程序返回的结果是一直输出某个结果,死循环输出的那种。

Time Limit Exceeded,如果你相信你的算法是最优的,那就检查一下什么地方在什么数据下出现了死循环。否则还是考虑换个思路解题的好。TLE除了死循环就是算法问题。

输入的数据是由系统提供,一般不需要写上i>=或者i<=这样的判断条件,否则也会出现超时的情况。

程序出过的错合集

标签:a*   输出   lld   检查   space   stream   page   exce   lse   

原文地址:https://www.cnblogs.com/cq0143/p/11216369.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!