(3)C语言——狐狸和兔子的故事
2018-06-18 04:00:18来源:未知 阅读 ()
题目描述
围绕着山顶有10个洞,一只狐狸和一只兔子各住一个洞。狐狸总想吃掉兔子。一天兔子对狐狸说:“你想吃我有一个条件,先把洞从1~10编上号,你从10号洞出发,先到1号洞找我;第二次隔1个洞找我,第三次隔2个洞找我,以后依此类推,次数不限。若能找到我,你就可以饱餐一顿。不过在没有找到我以前不能停下来。”狐狸满口答应就开始找了,它从早到晚找了N次洞,累得昏了过去也没有找到兔子。请问,狐狸昏倒在哪一个洞里?免子可能躲在哪些洞里?
输入
输入一个正整数N(1<=N<=1000)
输出
第一行:输出兔子可以躲在的洞的编号
第二行:狐狸昏倒时所在洞的编号
样例输入
3
样例输出
2 4 5 7 8 9 10
6
1 /************ 2 变量定义: 3 n:一共找n次洞 4 k:第k次找洞(1<= k <=n) 5 6 find_rabbit: 返回第k次找到的洞的号数。 7 8 **********/ 9 #include <stdio.h> 10 int find_rabbit(int k){ 11 if(k==1){ 12 return 1;/*第一次在1号洞*/ 13 }else{ 14 if((find_rabbit(k-1) + k)%10 == 0){ 15 return 10; 16 }else{ 17 return (find_rabbit(k-1) + k)%10; 18 } 19 } 20 } 21 void main(){ 22 int i,holes[10]; 23 int n=24; 24 for(i=0; i<10; i++){ 25 holes[i] = 1;/*初始化为1,1代表狐狸没有去过的洞*/ 26 } 27 28 for(i=1; i<=n; i++){ 29 holes[find_rabbit(i)-1] = 0;/*eg:第一次在1号洞,即holes[0]置为0,使用index要减1,0代表狐狸去过的洞*/ 30 } 31 32 for(i=0; i<10;i++){ 33 if(holes[i] == 1){ 34 printf("%d ",i+1);/*因为i是从0开始的,所以加1*/ 35 } 36 } 37 printf("\n%d \n",find_rabbit(n)); 38 39 40 }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 关于各种不同开发语言之间数据加密方法(DES,RSA等)的互通的 2020-06-07
- C语言程序结构 2020-05-31
- 每日干货丨C++语言主流开发工具推荐! 2020-04-28
- C语言实现经典游戏——扫雷! 2020-04-17
- C语言中的宏定义 2020-04-04
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash