PKU-计算概论(A)
Hamburry__
这个作者很懒,什么都没留下…
展开
-
校门外的树
beidhttp://ica.openjudge.cn/array/4/原创 2014-04-30 22:04:30 · 513 阅读 · 0 评论 -
如何将二维数组作为函数的参数传递
北大-计概int change_bit(int a[][100],int x,int y,int n);原创 2014-05-01 00:05:31 · 389 阅读 · 0 评论 -
分数求和:一道很有意思的题,而且最后的返回值的处理问题也需要注意
北大-计算概论http://ica.openjudge.cn/baseb/07/这题需要模拟一下自然计算,挺好玩的。#includemain(){ int n; int i; int p,q; int x,y; int yue; scanf("%d",&n); scanf("%d/%d",&p,&q); f原创 2014-03-30 22:49:41 · 716 阅读 · 0 评论 -
续谈分数求和:最小公倍数的求法
北大-计算概论http://ica.openjudge.cn/baseb/07/最小公倍数Least Common Multiple在上一篇文章里,我整理了一下最大公约数GCD的求法这里我们来研究一下最小公倍数LCM如何求。其实,说到最小公倍数,只需要记住一点:最小公倍数等于两数之积除以最大公约数int lcm(int a,int b){ in原创 2014-03-30 23:07:03 · 996 阅读 · 0 评论 -
再谈分数求和:求最大公约数——老吴憨算法和辗转相除法
greatest common divisor老吴憨算法:int gcd(int m,int n){ int i; int yue; yue=1; for(i=1;i<=m&&i<=m;i++) { if(m%i==0&&n%i==0&&i>yue) yue=i; } return yue;}辗转相除法:int原创 2014-03-30 22:58:54 · 767 阅读 · 0 评论 -
汉诺塔:递归
描述汉诺塔(又称河内塔)问题是印度的一个古老的传说。开天辟地的神勃拉玛在一个庙里留下了三根金刚石的棒A、B和C,A上面套着n个圆的金片, 最大的一个在底下,其余一个比一个小,依次叠上去, 庙里的众僧不倦地把它们一个个地从A棒搬到C棒上,规定可利用中间的一根B棒作为帮助, 但每次只能搬一个, 而且大的不能放在小的上面。 僧侣们搬得汗流满面,可惜当n很大时这辈子恐怕就很搬了聪明的你还有计算原创 2014-03-28 21:56:34 · 715 阅读 · 0 评论 -
鸡兔同笼:Time Limit Exceeded?试着把时间复杂度降下来吧
北大-计算概论-练习-鸡兔同笼http://ica.openjudge.cn/base1/5/【一开始的解答】#includemain(){ int repeat,a,min,max,ri,i,j,flag; scanf("%d",&repeat); for(ri=0;ri<repeat;ri++) { scanf("%d",&a); min=a; ma原创 2014-03-29 19:21:19 · 814 阅读 · 0 评论 -
苹果和虫子:思考的完整性
北大-计算概论-练习-苹果和虫子http://ica.openjudge.cn/base1/2/【陷阱】其实,早在高一的时候,就做过这样的题目:一辆汽车不断减速,问你某时刻这辆车的位置。这里的陷阱在于,车子很有可能在这一时刻之前就已经停下不动了。这道题目也是一样,如果在第y小时之前苹果就已经吃完了,而你又没有考虑到这一点,那么将会输出一个负数,这显然是不合理的。【解答】原创 2014-03-29 15:23:18 · 2204 阅读 · 0 评论 -
求一元二次方程的根:浮点数中的“0”
北大-计算概论-练习-求一元二次方程的根http://ica.openjudge.cn/base1/4/【坑爹】这道题目我提交了八次,终于AC貌似还有提交18次才AC的【坑在哪里】1、浮点数无法和0比较。解决办法是看fabs(x-0)与1e-5的关系,即与0的差值和一个小量比大小2、当一个数如果在(-0.000005,0)之间,输出精确到小数点后5位,就是-原创 2014-03-29 17:23:01 · 1183 阅读 · 0 评论 -
数组逆序重放
北大-计算概论http://ica.openjudge.cn/base2/6/#includemain(){ int a[100]; int t; int i; int n; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%d",&a[i]); } for(i=0;i<n/2;i++) { t=a[n-1-i]原创 2014-03-29 20:49:18 · 882 阅读 · 0 评论 -
整数奇偶排序:如何测试不确定数目的多组数据?
北大-计算概论http://ica.openjudge.cn/basea/4/ “测试数据可能有很多组,请使用while(cin>>a[0]>>a[1]>>...>>a[9])类似的做法来实现”这个用c语言怎么实现?EOF?原创 2014-03-29 22:40:33 · 554 阅读 · 0 评论 -
关于qsort()的小总结
功 能: 使用快速排序例程进行排序头文件:stdlib.h用 法: qsort(待排序数组首地址,数组中待排序元素数量,单个元素的占用空间大小,指向函数的指针,用于确定排序的顺序)关于comp()函数的用法:从小到大排序:1234int comp(constvoid*a,constvoi原创 2014-03-29 22:44:30 · 500 阅读 · 0 评论 -
谁考了第k名:Wrong Answer
北大-计算概论http://ica.openjudge.cn/basea/7/#include#includestruct student{ long code; double score;};int comp(const void *a,const void *b){ struct student *c = (struct student *) a; struct原创 2014-03-29 23:36:21 · 2118 阅读 · 0 评论 -
%g的用法
1、%g :根据具体的数值选择 %e 或 %f %G: 根据具体数值选择 %E 或 %f2、在变量类型是float或double时,都可以用%g输出,省略小数后面的0,例如:float a=3.14,b;b=a/2;printf("%f %g\n",b,b);结果输出1.570000 1.57原创 2014-03-30 20:19:50 · 5050 阅读 · 0 评论 -
求分数序列和:int求和,小心溢出
北大-计算概论http://ica.openjudge.cn/baseb/04/看到题目后,第一反应是:这题简单啊,做过好多遍了。于是,刷刷刷就把代码写完了:#includemain(){ int zi,mu,i,n,t; double sum; scanf("%d",&n); zi=2; mu=1; sum=0; for(i=0;i<n;i++) {原创 2014-03-30 20:41:37 · 743 阅读 · 0 评论 -
PAT(B)1001.3n+1猜想/角谷猜想
北大-计算概论http://ica.openjudge.cn/baseb/06/这题同时也是PAT Basic Level的第一道题目http://pat.zju.edu.cn/contests/pat-b-practise/1001答案:#includemain(){ int n; int i; scanf("%d",&n); while(n!=1)原创 2014-03-30 22:04:39 · 1304 阅读 · 0 评论