算法:c语言实现第三章 约瑟夫函数


root@ubuntu:~/algorithm# cat nodetest.c 
#include <stdlib.h>
#include <stdio.h>
typedef struct node* link;
struct node { int item; link next;};

int main(int argc,char *argv[]){
    int i,N=atoi(argv[1]),M=atoi(argv[2]);
    link t=malloc(sizeof *t),x=t;
    t->item=1;
    t->next=t;
    for(i=2;i<=N;i++){
        x=(x->next=malloc(sizeof *t));
        x->item=i;x->next=t;
    }
    while(x!=x->next){
        for(i=1;i<M;i++){
            x=x->next;
        }
        x->next=x->next->next;N--;
    }
    printf("%d\n",x->item);
    
}

你可能感兴趣的:(c,算法)