현재 위치 - 주공해몽공식사이트 - 관음보살의 랜덤 번호 뽑기 - C 프로그래밍 문제: 조셉 문제 해결

C 프로그래밍 문제: 조셉 문제 해결

순환체인표로 할 수 있어요!

# include & ltstdio.h & gt

구조 노드 {

Int 데이터

구조 노드 * next

} 노드, * 목록, *p, * r;;

Void JOSEPHU(int n, int k, int m)

{

Int I, j;

List = NULL

For (I =1; 나<= n;; I++)

{

P= (구조 노드 *)malloc(sizeof (노드));

P->; 데이터 = I;;

If(list==NULL)

List = p;;

기타

R-> Next = p;;

R = p;;

}

P->; Next = list/* 루프 체인 생성 */

P = 목록;

For (I =1; 나< = n+1; I++)

{

Printf("%d ",p-> 데이터);

P = p-& gt;; 다음으로,

}

Printf ("\ n"); /* 연결된 목록을 인쇄하고 순환 연결된 목록이 올바르게 입력되었는지 확인합니다. */

P = 목록;

I =1;

그리고 (p & amp& amp 나<k)

{r = p;;

P = p-& gt;; 다음으로,

++I;

}

For (I =1; 나 & ltn;; I++)

{

For (j =1; J & ltm;; J++)

{r = p;;

P = p-& gt;; 다음으로,

}

Printf(" out =% d \ n ",p-> 데이터);

R-> Next = p-& gt;; 다음으로,

}

}

Void main ()

{

Int x, y, z;

Printf ("입력 길이 n \ n"); /* n, k, m 은 총 인원수, 첫 번째 신고자, 간격 인원수 */

Scanf("%d ",& ampx);

Printf ("입력 시작 k \ n");

Scanf("%d ",& ampy);

Printf ("m 입력 \ n");

Scanf("%d ",& ampz);

조셉 (x, y, z);

}