C++ 无符号长长整型
我提交了一个C语言的矩阵求幂代码,用于查找第n个fibonacci,我使用long-long int变量存储第n个fibonacci的答案模10000007,法官给出了“超过时间限制”,但当我使用“无符号long-long int”时我的代码在规定时间内被接受,执行时间缩短 我无法理解为什么long-long-int给出了“超过时间限制”和“未签名的long-long-int”被接受?C++ 无符号长长整型,c++,c,algorithm,C++,C,Algorithm,我提交了一个C语言的矩阵求幂代码,用于查找第n个fibonacci,我使用long-long int变量存储第n个fibonacci的答案模10000007,法官给出了“超过时间限制”,但当我使用“无符号long-long int”时我的代码在规定时间内被接受,执行时间缩短 我无法理解为什么long-long-int给出了“超过时间限制”和“未签名的long-long-int”被接受? (极端测试案例的答案在这两种情况下都是正确的)为了不重复任何人的努力,请参见和本主题相同的部分。”奥巴马的回答
(极端测试案例的答案在这两种情况下都是正确的)为了不重复任何人的努力,请参见和本主题相同的部分。”奥巴马的回答也非常详细第一条评论值得作为初审检查 你完全相信法官机器上的架构和你的一样?你用的是什么架构?我不确定法官的架构,但主要的动机是理解为什么unsigned long long int工作得很快。当我们使用unsigned与double混合时,会有开销,但是我的代码处理乘法,“unsigned int”比“int”工作得更快,是的,现在我还可以通过比较两种乘法的汇编代码来检查乘法…:)