| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 643 人关注过本帖
标题:老鼠求生问题
只看楼主 加入收藏
spring123
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-4-9
收藏
 问题点数:0 回复次数:5 
老鼠求生问题
有只猫抓了N只老鼠,抓来的老鼠把它排成一圈,数到第三只老鼠,吃掉,依次数下去,第三只都被吃掉,最后一只放生,若你是此老鼠,该站在哪个位置?puts(老鼠只数)
搜索更多相关主题的帖子: 老鼠 求生 
2007-04-25 22:59
qypwxy
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-4-25
收藏
得分:0 
编之~~~~~~~~
链表~~~~~~~~
2007-04-25 23:54
煲仔粥
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2007-4-23
收藏
得分:0 
7
2007-04-26 00:41
zhangbo85128
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2007-4-17
收藏
得分:0 
7
2007-05-08 10:46
潇湘夜雨
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-5-1
收藏
得分:0 

自己试了一下,但感觉还有可以改进的地方
#include<iostream>
#include<conio.h>

using namespace std;

struct mouse{
int logo;
struct mouse *next;
};
int Last_mouse( int N ){
/*创建链表*/
struct mouse *head,*m,*n;
int i=1;
head=m=new struct mouse;
m->logo=i;
m->next=NULL;
while(i<N){
i++;
n=new struct mouse;
n->logo=i;
n->next=NULL;
m->next=n;
m=n;
}
n->next=head;
/*吃掉数到3的老鼠*/
m=head;n=m->next;
for(int k=1;;k++){
if(k!=2){ //n的起始logo值是2,故只需数一次
m=n;
n=n->next;
}
else {
m->next=n->next;
m=m->next;
n=m->next;
k=0;
}
if(n->logo == m->logo)
return m->logo;
}
}

int main()
{
int Num;
cout<<"Input the total number of the mouse :"<<endl;
cin>>Num;
cout<<"The last mouse's logo is :"<<Last_mouse(Num);
getch();
return 0;
}


长风破浪会有时, 直挂云帆济沧海。 C++ing!
2007-05-12 19:32
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
约瑟复环问题.

倚天照海花无数,流水高山心自知。
2007-05-12 20:54
快速回复:老鼠求生问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012850 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved