C数组猴子选大王

C数组猴子选大王,第1张

这是运行结果 需要的话给我个邮箱

/

结果:

------------------------

猴子竞选大王

--请输入猴子的总数num = 10

按顺时针方向就坐的猴子编号依次是:

猴子1 猴子2 猴子3 猴子4 猴子5 猴子6 猴子7 猴子8 猴子9 猴子10

规定数字,报出这个数的猴子将被淘汰出局,这个数max_hao = 2

被淘汰出局的猴子依次是:

猴子2 猴子4 猴子6 猴子8 猴子10 猴子3 猴子7 猴子1 猴子9

竞选结果:

猴王:5

-----------------------------

/

这个是约瑟夫问题的最简单形式,可以用固定公式搞定,程序最简单,用时最少:

var

n,m,i,s:integer;

begin

read(n,m);

for i:=2 to n do

s:=(s+m) mod i;

writeln(s+1);

end

游戏中在阳平和栖霞都有猴子首领,有些玩家一直没打过猴王,这里给大家带来了古剑奇谭3猴子大王打法心得,卡在猴王关的同学一起看下文中介绍吧。

猴子大王打法心得及位置介绍

位置地点:阳平、栖霞。

阳平的那一只在地图上方,上方只有一条路,右边的是去无名之地的路,而左边的路则是猴王的位置(其实也就是岑缨被抓的位置),会走到一块很大的空地,猴子头领就在大树这;

栖霞的那一只在北洛的家(被羽林摧毁的地方)附近,沿着这条路就能看到(有时候需要打几只小猴子)。

另外有一个需要注意的地方,如果在阳平把猴王打死了,可以签订猴子的契约,但是契约任务却显示不完成,这是一个BUG,还有猴子首领会过期(或者是BUG),栖霞的那一只如果不及时去的话,以后去就找不到了,其实也只要打阳平的那一只就可以了,不过栖霞的难度要低很多,如果等级比较低,可以考虑去栖霞。

阳平的猴子建议40级的时候再去怼它,不然按照正常属性的话,打它完全不带掉血的,不过可以利用卡位的方法,慢慢耗血。栖霞那只20多级小心一点还是能顺利击败的。

打法心得

今天刚过完梦阳平,在侠义榜接了打阳平猴王的任务。之前记得有网友说的是栖霞猴王是40级左右打,没想到今天打阳平猴王发现,怎么打他才1血,暴击2血,惊了这个是40级,栖霞没有猴子王”。

结果想脱战也脱不了,于是拼着鱼死网破把支援技放了……发现竟然有用!然后靠着鹿活草和支援技强行磨死了猴王。

这里可能支援技能的伤害时设定死的,至少我这个进度看起来是这样。

核心的两个技能是鱿鱼的破坏死光,10段伤害每段100,锁定后释放效果更佳。

蚊子的火环伤害400左右但是不吃锁定,向面向位置释放,效果不太好,有点是CD快,穿山甲自爆是1000伤一次,但是前摇太长,加上猴子王的位移技能,不太能炸到,但是有一点伤害十一点伤害。

import javautilLinkedList;

import javautilList;

public class Program {

/

@param args

/

public static void main(String[] args) {

int N = 5;

List<Monkey> monkeys = new LinkedList<Monkey>();

List<Monkey> newMonkeys = new LinkedList<Monkey>();

//初始化猴子

for(int i = 0; i < 17; i++){

monkeysadd(new Monkey(i));

}

newMonkeysaddAll(monkeys);

int index = 0;

while (true)

{

if (monkeysget(index)numberOff() == N)//报数数到N

{

monkeysremove(index);

Monkeyn = 1;

}

index++;

if (index >= monkeyssize())

index = 0;

if (monkeyssize() == 1)//猴子只剩一个

break;

}

//查找当王的猴子原来的位置

for(int i = 0; i < newMonkeyssize(); i++){

if(monkeysget(0)getID() == newMonkeysget(i)getID()){

Systemoutprintln(i);

break;

}

}

}

}

class Monkey{

public static int n = 1;

private int id;

public Monkey(int id){

thisid = id;

}

public int getID(){

return id;

}

public int numberOff(){

int num = n;

n++;

return num;

}

}

给你个调试过的约瑟夫出圈问题,我记得好像和这个差不多,你自己对着看吧,

#include <stdioh>

#include <stdlibh>//包含system和malloc函数

#define LEN sizeof(struct Lnode)

typedef struct Lnode

{

int key;

int num;//每个结点的序号

struct Lnode next;

}Lnode[30];

void main()

{

int a[30],m,j=0;//a[30]用于最后依次输出出圈的人的序号,m为每次出圈的密码,j为计数器

struct Lnode p,q,head,c;//c用于删除结点

int i,length,limit=1;//limit用于判断输入的人数是否超出30,length为输入人数,i用于计数循环

printf("请输入人数(<=30):");

while(limit==1)//当输入人数超出30时,不执行下面的程序

{

scanf("%d",&length);

system("cls");

if(length<=30)

{

printf("请输入初始密码:");

scanf("%d",&m);

system("cls");

limit=0;

//以下开始建立链表

for(i=0;i<length;i++)

{

p=(struct Lnode)malloc(LEN);//由于p为指向结构体类型数据的指针,而malloc带回的是不指向任何类型数据的指针(void),所以加了struct Lnode将malloc返回的指针强制转换为指向结构体类型数据的指针,malloc用于开辟一个长度为LEN的连续内存区,每次循环开辟一个新结点使p指向它

if(i==0)

head=q=p;

else q->next=p;

q=p; //p,q后移一位

printf("请输入key%d(>0):",i+1);

scanf("%d",&p->key);

p->num=i+1;

}

q->next=head;//表尾连到表头,形成循环单链表

p=head;//把链表的头指针赋给p

//链表建立完毕

while((length-j)!=2)//当剩下的结点数大于2时

{

for(i=0;i<m-2;i++)

p=p->next;//p后移m-1个位置

c=p->next;

p->next=c->next;//删除结点

a[j]=c->num;//把删除的结点的序号记录在数组a内

j++;

m=c->key;

p=p->next;//p后移一位

}

if(m%2==0)//出圈密码为偶数时

p=p->next;

else ;

a[j]=p->num;

p=p->next;

a[j+1]=p->num;

for(j=0;j<length;j++)

printf("%d\n",a[j]);

}

else

printf("输入人数超过最大允许人数,请重新输入:");

}

}

以上就是关于C数组猴子选大王全部的内容,包括:C数组猴子选大王、pascal 猴子选大王、古剑奇谭3猴子首领在哪 阳平猴子大王打法心得等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10089854.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存