随笔分类 -  小算法

8行代码解决约瑟夫问题
摘要:首先是问题描述:约瑟夫斯问题(有时也称为约瑟夫斯置换),是一个出现在计算机科学和数学中的问题。在计算机编程的算法中,类似问题又称为约瑟夫环。有个囚犯站成一个圆圈,准备处决。首先从一个人开始,越过个人(因为第一个人已经被越过),并杀掉第k个人。接着,再越过个人,并杀掉第k个人。这个过程沿着圆圈一直进行,直到最终只剩下一个人留下,这个人就可以继续活着。问题是,给定了和,一开始要站在什么地方才能避免被处决? ... 阅读全文

posted @ 2014-01-12 15:00 buptpatriot 阅读(1733) 评论(6) 推荐(4) 编辑

大数相乘的一种实现
摘要:基本步骤:输入字符串—>转化为int数组—>数组相乘。#include #include #include //将字符转换为intint chartoint(char a){return a-'0';}//将int转换为字符/* char inttochar(int i){return i+'0';} */void stoi(char s[],int len,int out_int[]){for(int k=0;k=0&&chartoint(s[k])<=9){out_int[k] = chartoint(s[k]);}else 阅读全文

posted @ 2013-08-07 18:21 buptpatriot 阅读(175) 评论(2) 推荐(0) 编辑

利用级数计算π
摘要:π的级数展开式: π/2=1+1/3+(1*2)/(3*5)+(1*2*3)/(3*5*7)+(1*2*3*4)/(3*5*7*9)+··· 代码(C语言)如下:#includedouble pi(int n){double result = 1;double temp = 1;for(int i = 1;i<=n;i++){temp=temp*i/(i*2+1);result+=temp;}return result*2;}void main(){int n;printf("input precision:");scanf(" 阅读全文

posted @ 2013-07-26 17:37 buptpatriot 阅读(1580) 评论(0) 推荐(0) 编辑

导航