OpenJudge

17:溢出

总时间限制:
1000ms
内存限制:
65536kB
描述

给出一个加法或者乘法运算式,请你判断两个运算数和运算结果是否超过了int型整数的范围。

最大的int型整数在头文件中规定,用常量INT_MAX表示。你可以在程序中直接使用INT_MAX,但需要在程序头部加上#include这条指令。当然,你也可以直接用2147483647来表示最大的int型的整数。

如果我们把某个超过范围的数强行存储在这种类型的变量中,就会发生溢出错误。

你的任务,就是判断一个数学表达式是否发生溢出。

要提醒注意的是:你不可以直接把两个运算数和结算结果保存在int或者long long型变量中,因为有可能遇到高精度数。这提示你可能需要用高精度运算来解决本题,但也可能有另外奇葩的解决办法。OI美妙的地方就在于:方法多样化,不管什么方法,能解决总是就是好方法。


输入
第1行:1个运算式,第1个运算数、运算符、第2个运算数之间均有一个空格
输出
可能有1~3行输出结果。若第1个运算数大于INT_MAX,输出"first number too big"。若第2个运算数大于INT_MAX,输出"second number too big"。若运算结果大于INT_MAX,输出"result number too big"。如果所有数均不超过INT_MAX,输出"OK"
样例输入
9999999999999999999999 + 11
样例输出
first number too big
result too big
全局题号
16872
添加于
2018-03-15
提交次数
175
尝试人数
32
通过人数
29