龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > C/C++开发 >

哪一个奴隶不会死

时间:2009-12-22 15:42来源:未知 作者:admin 点击:
分享到:
大家好,我的这个题目是在一次浏览网页的时候偶然看到的题目是英文的,我把它翻译过来。并且自己调试程序,把这道题目做了出来,希望大家指点. 题目:很早以前有个很凶狠的奴

大家好,我的这个题目是在一次浏览网页的时候偶然看到的题目是英文的,我把它翻译过来。并且自己调试程序,把这道题目做了出来,希望大家指点.

题目:很早以前有个很凶狠的奴隶主,以杀奴隶为乐。他有很多的奴隶,一天,他让37个奴隶围成一圈,编上号码(1~37),第一个奴隶从1开始数,数道5的那个人被杀掉,接下来后面的那个人又从1开始数数到5的那个人也被杀掉……最后剩下一个奴隶,这个奴隶可以活下来不杀,问最后是那个奴隶可以活下来?

#include

  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]); //输出最后的哪个数字,即就是不死的奴隶

   }

  }

我的运行结果是第一个奴隶不死。

  

精彩图集

赞助商链接