解题思路:

注意事项:

参考代码:

#include<stdio.h>
typedef struct Link{
	int data;
	struct Link *next;
}Link;
//循环链表的函数声明 
Link *creatlist(int len);
//获得原始编号函数的声明 
void Getnum(Link *node,int len);
int main()
{
	int n;
	scanf("%d",&n);
	Link *p;
	p=creatlist(n);
	Getnum(p,n);
	return 0;
}
Link *creatlist(int len){
	Link *head,*p,*q;
	int i;
	head = (Link *)malloc(sizeof(Link));//创建头结点
	head->next=NULL;
	q=head;
	for(i=0;i<len;i++){
		p=(Link *)malloc(sizeof(Link));
		p->data=1;
		q->next=p;
		q=p;
	} 
	q->next=head->next;//建立循环 
	return head;
}
void Getnum(Link *node,int len){
	Link *p;
	int i,time=0,zero_count=0;
	p=node->next;
	while(zero_count!=len-1){
		zero_count=0;
		for(i=0;i<len;i++){
			if(p->data==1){
				time++;
				if(time==3){
					p->data=0;
					time=0;
				}
			}
			else{
				zero_count++;
			}
			p=p->next;
		}	
	}
	for(i=0;i<len;i++){
		if(p->data)printf("%d",i+1);
		p=p->next;
	}
}


点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论