coding中那些不得不说的愚蠢的mistake(1)
来源:互联网 发布:淘宝手机海报尺寸2017 编辑:程序博客网 时间:2024/05/16 23:57
让我们重回案发现场······
当时我是要做一道素数环,就是这道题来着:http://blog.csdn.net/cqbzlytina/article/details/72844258 第一次写好之后连样例都过不了,调了很久,没发现什么问题。我去问一个朋友,把他的代码跟我的对照了一下,写得都一样。当时的代码是长这样的:
#include<cstdio>#include<cmath>int a[19],k;bool b[19]={0},sum,n[11],num=1;int q;bool b[19]={0},sum,n[11],num=1;
bool p(int s){ for(int i=2;i<=sqrt(s);i++) if(s%i==0) return 0; return 1; }void print(){ for(int i=1;i<q;i++) printf("%d ",a[i]); printf("%d\n",a[q]);}int search(int r){ for(int i=1;i<=q;i++) if(!b[i]&&p(i+a[r-1])) { a[r]=i; b[i]=1; if(r==q&&p(1+a[q])) { sum++; if(sum==n[num]&&num<=k) { num++; print(); } } else search(r+1); b[i]=0; }}int main(){ scanf("%d %d",&q,&k); for(int i=1;i<=k;i++) scanf("%d",&n[i]); a[1]=1; b[1]=1; search(2); printf("%d",sum);}看起来很正常啊。后面再去找老师调的时候,老师才看几行就拉我过来,看前面定义的那几行。
于是乎,我深刻地体验到了什么叫做豁然开朗。
bool b[19]={0},sum,n[11],num=1;
给第3行来个特写,sum用来记数的,定义的bool,存储用的n数组,定义的bool,记录顺序(找不到形容词了)的num,仍然定义的bool,摊手无奈/这个故事告诉我们:检查代码要从开头开始用肉眼检查一遍,虽然重要的函数那部分更容易出错,但也不要急着去调试,先看看有没有这种愚蠢的错误,再调试。
阅读全文
0 0
- coding中那些不得不说的愚蠢的mistake(1)
- Java中那些不得不说的坑
- 和小媳妇的那些不得不说的事
- 不得不说的那些坑(一)
- 这四年不得不说的那些事
- IE6不得不说的那些BUG
- 不得不说的opencv 那些事
- Android Service那些不得不说的事-之二(Bound Service的实现方式)
- 唐骏:这四年不得不说的那些事
- 我与朗科不得不说的那些事儿
- 关于豆瓣不得不说的那些事儿
- Android Service那些不得不说的事-之一
- 做好用户体验不得不说的那些事
- 关于简历不得不说的那些事儿
- 安卓listView不得不说的那些细节
- printf与a++那些不得不说的事儿
- java异常那些不得不说的事
- 我是数据分析师(三):跟Quick BI纠缠的日子里不得不说的那些事
- 巧用Android多进程,微信,微博等主流App都在用
- popupwindow不显示问题
- 机器学习之-使用FP-growth算法来高效发现频繁项集-具体怎么实现及应用
- Vue项目一键远程发布(upload to remote)全流程配置
- codeforces 281A(Word Capitalization) Java
- coding中那些不得不说的愚蠢的mistake(1)
- mysql查询结果添加序列号
- CVE-2017-7269的几个技巧及BUG修正
- 谁是你的潜在朋友
- 一个简单的前端JavaScript手机号码输入验证方案
- 使用caffe训练数据集
- 深度优先-leetcode77 组合
- 最新xcode打包IPA(完整详细图文)
- echarts绘制饼图