算法
Shadow0418
代码改变世界,keep coding ~~
展开
-
朴素的模式匹配算法
问题描述:如果串s2是串s1的子串,求串s2在串s1中第一次出现的位置。分析:用串s2的第一个字符依次从串s1的第一个字符开始比较,不等则后移一个位置。。。。代码整理:#include#include#includeint index(char s1[],char s2[],int n1,int n2) { int i,j; i=0;j=0; while(i<原创 2013-05-30 22:24:59 · 865 阅读 · 0 评论 -
开灯问题
有n盏灯,编号为1~n。第一个人把所有的灯打开,第二个人按下所有的编号为2的倍数的开关(这些灯将被关掉),第三个人按下所有编号为3的倍数的开关(其中关掉的灯将被关闭),以此类推。一共有k个人,问最后有哪些灯开着?输入:n和k,输出开着的灯编号。k 样例输入: 7 3 样例输出: 1 5 6 7分析:把n盏灯放到一个数组里,全部设置为0,每次按下编号为2,3,4....k的倍数后就把原创 2013-10-04 23:11:07 · 1152 阅读 · 0 评论 -
木棒
Sticks题目链接点击打开链接代码:#include #include int main(){ int n; while(scanf("%d",&n)==1) { if(n==0) break; int a[n]; int i原创 2013-10-07 22:31:58 · 1013 阅读 · 0 评论 -
生理周期
题目来自:点击打开链接代码: #include #include int main(){ int j,p,e,i,d,n=0; while(1) { scanf("%d %d %d %d",&p,&e,&i,&d); n++; if(p==-1 && d==-1 && e==-1 && i==-1)原创 2013-10-08 15:28:38 · 945 阅读 · 0 评论 -
因子和阶乘
问题描述:输入正整数n(2样例输入:553样例输出:5!=3 1 153!=49 23 12 8 4 4 3 2 2 1 1 1 1 1 1 1代码:#include#includeint is_prime(int n){ for(int i=2;i*i<=n;i++) if(n%i==0) return 0; return 1;}int原创 2014-03-06 22:25:40 · 1031 阅读 · 0 评论 -
括号匹配
代码:#include#include#define MaxSize 100void main(){ char exp[MaxSize]="{(1+2)+(3+4)+[2.5]}"; int size=strlen(exp); int counter1=0,counter2=0,counter3=0,i=0; while(i=0 &&counter2>=0 &&counter3>原创 2014-03-31 19:39:58 · 662 阅读 · 0 评论 -
括号匹配
题目描述:假设表达式中允许包含三种括号:圆括号、方括号和大括号。编写一个算法判断表达式中的括号是否正确匹配。代码:#include#include#include#define MaxSize 100typedef char ElemType;typedef struct { ElemType data[MaxSize]; int top;}SqStack;//初始化栈原创 2014-03-31 19:16:51 · 5472 阅读 · 0 评论 -
环形队列实现元素逆置
代码:#include#include#define MaxSize 5typedef char ElemType;typedef struct{ ElemType data[MaxSize]; int front,rear;}SqQueue;//初始化void InitQueue(SqQueue *&q){ q=(SqQueue *)malloc(sizeof(Sq原创 2014-04-02 00:33:29 · 6171 阅读 · 1 评论