大家好,我的這個題目是在一次浏覽網頁的時候偶然看到的題目是英文的,我把它翻譯過來。並且自己調試程序,把這道題目做了出來,希望大家指點.
題目:很早以前有個很凶狠的奴隸主,以殺奴隸為樂。他有很多的奴隸,一天,他讓37個奴隸圍成一圈,編上號碼(1~37),第一個奴隸從1開始數,數道5的那個人被殺掉,接下來後面的那個人又從1開始數數到5的那個人也被殺掉……最後剩下一個奴隸,這個奴隸可以活下來不殺,問最後是那個奴隸可以活下來?
#include <stdio.h>
void main ()
{
int a[38][38];
int h,i,j,k=0,m=1; //定義循環時要用的變量
for (h=0;h<38;h++) //二維數組賦 初值
{
for (i=0;i<38;i++)
{
if (h==i)
a[h][i]=h;
else
a[h][i]=0;
}
}
for(m=1;m<37;m++) //循環找出最後剩下的那個數字(奴隸)
{
for (j=1;j<38;j++)
{
i=j;
if (a[j][i]!=0)
{
k++;
if (k%5==0)
a[j][i]=0;
}
}
m++;
}
for (h=1;h<38;h++)
{
i=h;
if (a[h][i]!=0)
printf("%d",a[h][i]); //輸出最後的哪個數字,即就是不死的奴隸
}
}
我的運行結果是第一個奴隸不死。