종합 실험 1 - 여우 토끼 잡기
1521 단어 산사 통신 대학 2 학년 데이터 구조 실험 수업데이터 구조
#include
#include
#include
#define OK 1
#define OVERFLOW -2
typedef int status;
typedef int ElemType;
typedef struct{
ElemType *elem;
int length;
int listsize;
}SqList;
//
status InitList_Sq(SqList *L,int n) {
L->elem = (ElemType*)malloc(n*sizeof(ElemType));
if(!(L->elem))
return OVERFLOW;
L->length = 0;
L->listsize = n;
return OK; }
//
status findRabbit(SqList *L,int num) {
int i, current = 0,find = 1;
for(i = 0; i < L->listsize; i++)
{
L->elem[i] = 1; // 1
}
for(i = 1; i < num; i++)
{
L->elem[current] = 0; // 0
current = (current + i + 1) % L->listsize; // ( +1)
}
printf("
:");
for(i = 0; i < L->listsize; i++)
{
if(L->elem[i] == 1)
{
printf("
%d ", i+1);// !
find = 0;
}
}
// find 1, 1 。
if(find)
{
printf(" !");
}
return OK;
}
//
void main()
{
int n,num;
SqList L;
printf(" ");
scanf("%d",&n);
InitList_Sq(&L,n);
printf(" ");
scanf("%d",&num);
findRabbit(&L,num);
}