杭电ACM1019题求教 为什么老是wrong answer?明明答案是对的啊.

1个回答

  • All integers will be positive and lie within the range of a 32-bit

    integer.

    说明了a和b都是32位的数据

    int LCM(int a,int b)

    {

    int t,s; //s的最大值只可能是(2^31) - 1

    s=a*b; //这里可能会溢出,

    //因为如果a和b都是 (2^31) - 1这个数值,那么他们两个相乘的话,

    //结果会大于2^31 - 1, 一定会溢出, 溢出意味着出错

    if(a