一个错误
来源:互联网 发布:苹果大麦网抢票软件 编辑:程序博客网 时间:2024/05/29 03:05
今天我做了一道比较简单的题目,jzoj5340,思路也是比较简单,然后我也很快的码完了程序,但交到oj上却只有90分,然后我就不停的调试,不停的将程序分段检查,检查各自的子程序是否与预期相同,但是我唯独没有去看快速幂,因为我觉得这是已经写到烂的东西,于是我一直检查直到八点零八分,我带着绝望随手看了看快速幂,我就想有没有可能是溢出了呢?我就改了一下,居然就对了。九十分的代码和100分的代码就差一点。
九十分快速幂:
function power(a,b,n:int64):int64;var t,y:int64;begin t:=1; y:=a; while b<>0 do begin if(b and 1)=1 then t:=t*y mod n; y:=y*y mod n; b:=b shr 1; end; exit(t);end;
100分快速幂:
function power(a,b,n:int64):int64;var t,y:int64;begin t:=1; y:=a; while b<>0 do begin if(b and 1)=1 then t:=t mod n*y mod n;//就是这里 y:=y mod n*y mod n;//这里也是 b:=b shr 1; end; exit(t);end;
就是因为90分的代码没有先分别模了之后再乘,而是先乘了之后再模,在平时写代码中,也经常要写模,但是又不能处处都模,因为模的速度非常慢,但是如果没模好,那就悲哀了。总之,接下来少犯这种错误吧,吃一堑,长一智。
诡异
当我改了很久终于对了这道题目,并且现在速度和空间第一的情况下,我看了一下别人的代码,发现c++的可以不像我的100分代码那样写,直接写我90分代码那样的就行了。唉,反正,用pascal的选手小心点吧。
阅读全文
0 0
- 错误,一个。
- 一个错误
- 一个错误
- 一个错误
- 一个错误
- 一个错误
- 一个错误
- 一个错误
- 纠正一个自己一个错误
- 一个恼人的错误~
- 出版社的一个错误
- 今天的一个错误
- 一个hash_map使用错误
- 一个配置错误
- 纠正一个设计错误
- 一个愚蠢的错误
- 一个低级错误
- 一个定期的错误
- Day-01
- .net core 借助容联云实现短信验证码
- 51Nod-1832-先序遍历与后序遍历
- POJ1995 Raising Modulo Numbers(快速幂取模,模板题)
- 没有上司的舞会 树形DP 经典题目
- 一个错误
- 30. Substring with Concatenation of All Words
- windows下搭建virtualenv、virtualenvwrapper虚拟环境
- Codeforces Round #430-01字典树&类异或最大值-D. Vitya and Strange Lesson
- jQuery怎么获取<c:forEach>标签的值
- select...for update
- 1001. 害死人不偿命的(3n+1)猜想 (15)--PAT乙级
- Java8中的[方法引用]“双冒号”——走进Java Lambda(四)
- 刷题训练——PAT(Basic Level)-1014