C语言 国王杀人问题 求解!!

Python032

C语言 国王杀人问题 求解!!,第1张

我用链表做的,执行效率更高~#include<stdio.h>

main()

{

int M,N

int i,count,h

printf("输入总共人数N的值:")

scanf("%d",&N)

printf("\n输入第几个死M的值:")

scanf("%d",&M)

struct person

{int number<br>int nextp<br>}link[N+1]

for(i=1i<=Ni++)

{if(i==N)<br>link[i].nextp=1<br>else<br>link[i].nextp=i+1<br>link[i].number=i<br>}

printf("\n")

count=0

h=N

printf("这些人死亡的顺序是:\n")

while(count<N-1)

{i=0<br>while(i!=M)<br>{h=link[h].nextp<br>if(link[h].number)<br>i++<br>}

printf("%4d",link[h].number)

link[h].number=0

count++

}

printf("\n最后活下来的是")

for(i=1i<=Ni++)

if(link[i].number)

printf("%3d",link[i].number)

getch()

}

#include<stdio.h>

void main()

{

int a[100], i = 0, n = 0

while (1)

{

n = n + 9

a[n] = n

for (i = n - 1i >= 1i--)

{

if (a[i + 1] % 9 != 0)

break

else

a[i] = a[i + 1] * 10 / 9 + i

}

if (i)

break

}

printf("共有%d个儿子\n财产分为%d份", n, a[1])

getchar()

}