程序出过的错合集
Posted cq0143
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了程序出过的错合集相关的知识,希望对你有一定的参考价值。
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<=这样的判断条件,否则也会出现超时的情况。
-
以上是关于程序出过的错合集的主要内容,如果未能解决你的问题,请参考以下文章