[데이터 구조] 조세 프 문제 풀이 보고서
(본 문 제 는 순환 링크 로 이 루어 져 야 합 니 다)
조세 프 문 제 는 전형 적 인 문제 이다.n 명 (각각 번호 1, 2, 3,..., n 대표) 이 원탁 주위 에 둘 러 앉 아 번호 가 k 인 사람 부터 1 부터 시계 방향 으로 1, 2, 3,...........................................그리고 나 서 다음 사람 부터 시작 해서 1 부터 시계 방향 으로 계속 번 호 를 매기 고 m 까지 센 사람 이 나 와 서 출력 합 니 다...................................................................
입력: n, k, m 출력: 열 거 된 순서에 따라 열 거 된 사람의 번 호 를 순서대로 출력 합 니 다. 번호 중간 에 빈 칸 이 있 고 10 개의 번 호 는 한 줄 입 니 다.불법 입력 의 대응 출력 은 다음 과 같다.
a) 입력: n, k, m 중 1 개 이상 의 출력:
n,m,k must bigger than 0.
b) 입력: k > n 출력:
k should not bigger than n.
입력
9,3,2
출력
4 6 8 1 3 7 2 9 5
AcCode
// main.cpp
//
//
// Created by jetviper on 2017/3/26.
// Copyright © 2017 jetviper. All rights reserved.
//
#include "stdio.h"
#include "stdlib.h"
#include "stdlib.h"
#include "math.h"
#define LEN sizeof(struct linklist)
typedef struct linklist
{
int num;
struct linklist *next;
}list;
struct linklist * create_list(int n)
{
list *head;
list *p1, *p2;
head = (struct linklist *)malloc(LEN);
p2 = head;
p2->next = NULL;
p1 = NULL;
for (int i = 1; i <= n; i++)
{
p1 = (struct linklist *)malloc(LEN);
p1->num = i;
p2->next = p1;
p2 = p1;
p1->next = NULL;
}
p1->next = head->next;
return head;
}
void serch(struct linklist *head, int n, int k,int m)
{
list *p1, *p2;
p1 = head->next;
p2 = NULL;
list *temp;
while (1) {
if (p1->num != k) {
p1 = p1->next;
continue;
}
else break;
}
int cout=1;
for (int i = 0; i < n; i++)
{
for (int j = 1; j < m; j++)
{
p2 = p1;
p1 = p1->next;
}
if (i == n - 1) {
printf("%d
", p1->num);
cout++;
}
else if (cout == 10) {
printf("%d
", p1->num);
cout = 1;
}
else {
printf("%d ", p1->num);
cout++;
}
temp = p1;
p2->next = temp->next;
p1 = temp->next;
free(temp);
}
}
int main()
{
int n,k,m;
list *head;
scanf("%d,%d,%d", &n,&k, &m);
if (n < 1 || k < 1 || m < 1) {
printf("n,m,k must bigger than 0.
");
return 0;
}
if (k>n) {
printf("k should not bigger than n.
");
return 0;
}
head = create_list(n);
serch(head, n,k, m);
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.