以下方法需要12ms才能完成所有测试:
int addDigits(int num) { return 1+((num-1)%9);}
而以下只花了8毫秒:
int addDigits(int num) { return ((num-1)%9)+1;}
当我在结尾而不是开头加1时,为什么会有这么大的差异?在计算时我们是否应该总是将常数放在最后?
解决方法 这是不可重复的.两个版本在几个编译器下生成完全相同的汇编代码.输出也与-O3相同.请参阅https://godbolt.org/g/K6PZM5
总结以上是内存溢出为你收集整理的c中的数字加法全部内容,希望文章能够帮你解决c中的数字加法所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)