数据结构课作业 密码约瑟夫问题

记录一下 不知道会不会被同学搜到= =!

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAXN 1000
int cipher[MAXN],flag[MAXN],start,n;
char ch;

int main()
{
    FILE *fp;
 fp=fopen("E:\\ex1.txt","r");
    int i=0,cnt=0,head,nn;
    memset(flag,1,sizeof(flag));
    fscanf(fp,"%d",&start);
    while(fscanf(fp,"%d%c",&cipher[i++],&ch))
    {
        if(ch=='\n') break;
        n=i;
    }
      n++;head=start-1;
      flag[(head+cipher[head]-1)%n]=0;
      printf("%d ",(head+cipher[head])%n);
      head=(head+cipher[head])%n;
      nn=n;
      while(nn>1)
      {
        i=head;cnt=0;
        if(head==0) head=n;
        while(cnt<cipher[head-1])
        {
          if(i>=n) i%=n;
          if(flag[i]) ++cnt;
          i++;
        }
        i--;
        printf("%d ",i+1);
        --nn;
        flag[i]=0;
        head=(i+1)%n;
      }
      getchar(); 
}

posted on 2008-02-22 11:11 Victordu 阅读(2444) 评论(4)  编辑 收藏 引用

评论

# re: 数据结构课作业 密码约瑟夫问题 2008-02-22 19:08 R2@whuacm

严重BS,居然利用这种行为来骗流量。
害人啊~~~  回复  更多评论   

# re: 数据结构课作业 密码约瑟夫问题[未登录] 2008-02-23 17:29 zz

读rss看到,瞄了一眼,看到fp=fopen("E:\\ex1.txt","r"); 提个建议,写程序最好用相对路径。  回复  更多评论   

# re: 数据结构课作业 密码约瑟夫问题 2008-02-25 13:12 Victordu

嗯谢谢@zz
  回复  更多评论   

# re: 数据结构课作业 密码约瑟夫问题 2009-03-08 14:49 ....

没有注释  回复  更多评论   


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


导航

<2008年2月>
272829303112
3456789
10111213141516
17181920212223
2425262728291
2345678

统计

常用链接

留言簿(5)

随笔档案(46)

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜