摘要: 简单题 代码如下: #include void process(char s[]) { int i,num; for(i=0;s[i]!='\0';i++) { num=1; while(s[i]==s[i+1]&&s[i+1]!='\0') { num++;i++; } ... 阅读全文
posted @ 2008-10-24 21:25 pandy 阅读(557) 评论(0) 推荐(0) 编辑
摘要: 简单题(只需要注意一下求公倍数时先除后乘) 代码如下: #include int gcd(__int64 n,__int64 m) { if(m==0) return n; return gcd(m,n%m); } int main() { int t,n; __int64 x1,x2; scanf("%d",&t); while(t--) ... 阅读全文
posted @ 2008-10-24 21:05 pandy 阅读(342) 评论(0) 推荐(0) 编辑
摘要: 1.使用暴力穷举法:注意条件判断 代码如下: #include #include bool m[100001]; int main() { int mod,step,seed,num; while(scanf("%d %d",&step,&mod)!=EOF) { memset(m,0,sizeof(m));seed=0;num = 0; while(!(m[seed%mod])... 阅读全文
posted @ 2008-10-24 20:51 pandy 阅读(484) 评论(0) 推荐(0) 编辑
摘要: 简单题 代码如下: #include int main() { int x=2,i=3; double sum = 2.5; printf("n e\n"); printf("- -----------\n0 1\n1 2\n2 2.5\n"); for(i = 3; i != 10; i++){ x*=i; sum+=1.0... 阅读全文
posted @ 2008-10-24 17:59 pandy 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 由于输入数据规模不大,用简单模拟即可 代码如下: #include int main() { int d,u,n,x,time; while(scanf("%d %d %d",&n,&u,&d),n) { x=0;time=0; while(1) { x+=u;time++;if(x>=n) break; ... 阅读全文
posted @ 2008-10-24 17:50 pandy 阅读(375) 评论(0) 推荐(0) 编辑
摘要: 总结: 找循环节点, 使用一个二维数组visited[i][j]来存放前两个数为i,j时的这个数出现的位置。 算出周期,再用一定的公式就可以解出。 代码如下: #include int main() { int a,b,n,f1,f2,f3,i,j,t,num; while(scanf("%d %d %d",&a,&b,&n),a||b||n) { f1=1;f2=1;int vis... 阅读全文
posted @ 2008-10-24 17:26 pandy 阅读(527) 评论(0) 推荐(0) 编辑
摘要: 用到求抛物线系数公式,直线系数公式,再用简单积分来求面积。 注意: 做这类精度题目要小心 计算公式时能不用中间变量就不用, 虽然代码会明显增长,可是可以提高精度 在做这道题目时,我就花了很多时间在公式的优化上。 源代码如下: #include int main() { double p1x,p2x,p3x,p1y,p2y,p3y; double a,b,c,k,m,result,x; ... 阅读全文
posted @ 2008-10-24 01:28 pandy 阅读(372) 评论(0) 推荐(0) 编辑
摘要: 简单推理题: 考虑两个数和能被3整除,这两个数有什么特点。 多算几个数,便可以找到规律,从2开始以4个循环都是3的倍数 所以写出代码如下: #include int main() { int n; while(scanf("%d",&n)!=EOF) { if(n%4==2) printf("yes\n"); else printf("no\n"); } return... 阅读全文
posted @ 2008-10-24 00:33 pandy 阅读(656) 评论(2) 推荐(0) 编辑
摘要: 简单题,代码如下: #include int main() { int t,a,b; char c; scanf("%d",&t); while(t--) { getchar(); scanf("%c %d %d",&c,&a,&b); if(c=='+') printf("%d\n",a+b); else if(c=='-') printf("%d\n"... 阅读全文
posted @ 2008-10-24 00:14 pandy 阅读(466) 评论(4) 推荐(0) 编辑
摘要: 主要是使用了下面这个公式: log10(n!)=log10(1*2*3…*n)=log10(1)+log10(2)+…+log10(n) 注意: 这边的result要用double值,精度比较高,我wrong了一次就因为把它设成float值了 代码如下: #include #include int main() { int n,t; double result; scanf("%d",... 阅读全文
posted @ 2008-10-24 00:01 pandy 阅读(517) 评论(1) 推荐(0) 编辑