当前位置:首页 » 编程软件 » 小猴编程方法

小猴编程方法

发布时间: 2022-06-25 01:31:07

c语言编程 小猴吃了5个桃子,大猴吃的是小猴的3倍少1,编程并输出他们共吃多少桃

……这还要编程
#include<stdio.h>

void main()
{
int a=5;
printf("一共吃了%d个桃\n",a+3*a-1);
}

㈡ c语言编程解决小猴爬山

上山下山应该是一样的,都是让电脑一个值一个值去判断。我的想法是让电脑先判断出所有可能的组合,比如2+3+5和3+2+5是一个概念,然后建立一个排列组合的函数,对组合进一步处理。上山为例:
#include<stdio.h>
intjc(inta)//阶乘
{
inti,j=1;
for(i=a;i>0;i--)
{
j=j*i;
}
returnj;
}
intmain(intargc,char*argv[])
{
intn;//方法数
constintt=50;//台阶数
inti,j,k;

for(i=0;i<=25;i++)//2*25=50
for(j=0;j<17;j++)//3*16=48
for(k=0;k<13;k++)//4*12=28
{
if(2*i+3*j+4*k==t)//两步、三步或四步
{
n=n+jc(i+j+k)/(jc(i)*jc(k)*jc(j));
}
}
printf("上山总数为:%d种 ",n);
return0;
}

这个程序计算出来上山有3731种

㈢ C语言程序设计,猴子选大王

#include<stdio.h>
#include<stdlib.h>
main()
{ int a[50];
int i,j,M,N,t=0;
printf("input two number.\n");
scanf("%d %d",&N,&M);
for(i=0;i<N;i++)
a[i]=i+1;
for(j=1,i=0;;j++,i++)
{
if(i==N)i=0;
if(a[i]==0){j--;continue;}
if(j%M==0){a[i]=0;t++;}
if(N-t==1)break;
}
for(i=0;i<N;i++)
if(a[i]!=0) printf("猴王是第%d个.\n",a[i]);
system("pause");
}
试试...

㈣ 猴子选大王的编程,数据结构方法

如果给好评的话,麻烦写一句:
章鱼桶是个好人


不确定具体题目,从网上摘抄来的题目:

山上有n只猴子要选大王,选举办法如下:所有猴子从1到n进行编号并围坐一圈,从第一号开始按顺序1,2,...m继续报数,凡是报m号的猴子都退出到圈外,照此循环报数,直到圈内只剩下一只猴子时,这只猴子就是大王.输出大王的编号。


这个题目是循环链表的应用,循环链表参见:

http://ke..com/view/178643.htm

#include<stdio.h>
#include<stdlib.h>

{
intposition;
CircularLinkedListElement*next;
};
intmain(void)
{
/*
变量声明
*/
intn,m;
inti;
CircularLinkedListElement*start;
CircularLinkedListElement*p;
CircularLinkedListElement*q;
intstep;
/*
读入猴子数量n,以及淘汰的号码m
注意输入的是正整数,为了满足一般从0开始计数的规律,读入后将n、m均减一
*/
printf("Pleaseentermonkeysnumbern:");
scanf("%d",&n);
n--;
if(n<=0)
{
fprintf(stderr,"**Error:Monkey'snumbershouldbepositive. ");
return1;
}
printf("Pleaseenterobsoletenumberm:");
scanf("%d",&m);
if(m<=0)
{
fprintf(stderr,"**Error:. ");
return1;
}
m--;

/*
创建循环链表
*/
start=(CircularLinkedListElement*)malloc(sizeof(CircularLinkedListElement));
if(start==NULL)
{
fprintf(stderr,"**Error:mallocerror. ");
return1;
}
start->position=0;
start->next=NULL;
p=start;
for(i=1;i<=n;i++)
{
q=(CircularLinkedListElement*)malloc(sizeof(CircularLinkedListElement));
if(q==NULL)
{
fprintf(stderr,"**Error:mallocerror. ");
return1;
}
q->position=i;
q->next=NULL;
p->next=q;
p=q;
}
p->next=start;

/*
开始淘汰猴子
*/
step=1;
while(start->next!=start)
{
printf("#step%d ",step++);
printf("Currentmonkeys:");
p=start;
while(p->next!=start)
{
printf("%d",p->position+1);
p=p->next;
}
printf("%d ",p->position+1);
p=start;
for(i=0;i<(m-1);i++)
p=p->next;
q=p->next;
p->next=q->next;
start=q->next;
printf("Obsoletemonkeyis:%d ",q->position+1);
free(q);
}
/*
输出猴王
*/
printf("Themonkeykingis%d. ",start->position+1);
return0;
}

英文系统,所以输出都写的是英文,见谅

㈤ 核桃编程和小猴编程哪个好

两个各有好处,都非常不错。
核桃编程是面向青少年的开源编程科技创新平台,通过自主研发开源编程工具和提供SaaS产品一体化服务,打造青少年编程创新社区及青少年编程开源生态,致力于让青少年收获编程的快乐。
小猴编程系学而思培优旗下编程品牌,适合6-16岁中小学生,为培养孩子的思考能力、动手能力、表达能力、创新能力及合作能力提供助力。

㈥ 猴子吃桃问题编程,初学者能看懂的编程

分析:
①设x1为前一天桃子数,设x2为第二天桃子数,则
x2=x1/2-1, x1=(x2+1)*2
x3=x2/2-1, x2=(x3+1)*2
以此类推: x前=(x后+1)*2 ;

②从第10天可以类推到第1天,是一个循环过程。程序如下:

#include <iostream>
using namespace std;

int main( )
{
int day,x1,x2;
cin>>day;
x2=1;
while(day>0)
{
x1=(x2+1)*2; /*第一天的桃子数是第2天桃子数加1后的2倍*/
x2=x1;
day--;
}
cout<<"the total is "<<x1<<endl;
}

㈦ 计算机编程c++ 猴子分桃

#include<iostream>
#include<map>
usingnamespacestd;

longlongfastpow(inta,intb){
longlongans=1;
longlongtemp=a;
while(b){
if(b&1){
ans*=temp;
}
temp*=temp;
b>>=1;
}
returnans;
}

intmain(){
intN,M;
cin>>N>>M;
longlongleft=(M-1)*(fastpow(M-1,N-1)-1);
if(left==0){
left=M-1;
}
cout<<left<<endl;
for(inti=0;i<N;i++){
if(left%(M-1)){
cout<<"ERROR:"<<left;
}
else{
left=left/(M-1)*M+1;
}
}
cout<<left<<endl;
}

㈧ 编程 猴子吃桃问题 猴子第一天摘下若干个桃子当机吃了一半还不过瘾又吃了一个 以后每天早

先分析问题:用逆向思维来思考它,根据题意“以后每天早上吃前天剩下的一半零一个”,则我们可以用逆向思维来推导它,即从第十天往前推。已知第十天有一个,根据题意第九天应该就是(1+1)*2=4个,第八天应该就是(4+1)*2=10,第七天应该就是(10+1)*2=22,第六天应该就是(22+1)*2=46,
依此类推,直至第1天应该就是第2天(766+1)*=1534个桃子,即猴子第一天摘了1534个桃子。
为了验证这个推导的正确性,你可以按正常逻辑来把它(即此时由前往后)推导,即由第一天1534个桃子,第二天就是1534/2-1=766个桃子,依此类推,直至第十天,那么猴子此时就会发现只剩一个。


至此,我们由了推导的思想,再来编写的代码,就是小菜一碟的事情啦,实现的它方式无非就是那么两种,一种是简单的for循环,另一种是递归。这里我采用递归,因为解决此类问题往往用递归来思考它,会让问题变得更简单。按照数学思维来说 就是求未知数,则可以根据已知数出发进行求解(那么这里的已知数已经告诉了我们,它说第十天只有一个桃子)。

下面是我的递归算法来求解它的方法:

#include<iostream>
usingnamespacestd;
intrecurrent_monkey(intdays)//猴子吃桃递归
{
intpeach;
if(days==10)peach=1;//递归出口条件(已知条件第10天只有一个桃子)
elsepeach=(recurrent_monkey(days+1)+1)*2;
returnpeach;
}
intmain()
{
intdays=1;
cout<<recurrent_monkey(days)<<endl;
}

㈨ 一个有关猴子吃桃子的编程题,用c语言循环语句怎么做

1、首先在电脑中打开vc6.0,新建一个项目,添加头文件,如下图所示。

java编程猴子选猴王问题讲下思路就好了。

利用数组,进行循环
int a[]=new int[max_size];
for(i=0;i<M;i++) a[i]=0;
int flag=0;
for(i=0,j=0;(i<M)&&(flag<M-1);i++)
if (a[i]==0) {
++j;
if(j==N){
j=0;
a[i]=1;
flag++;}
}
system.out.println("i+1就是那个猴王");

热点内容
脚本中new 发布:2025-02-13 21:00:11 浏览:741
什么配置的笔记本电脑能玩神武 发布:2025-02-13 20:54:40 浏览:178
挑选云服务器需要注意什么 发布:2025-02-13 20:53:31 浏览:98
加密滴胶卡 发布:2025-02-13 20:30:48 浏览:275
javalogin 发布:2025-02-13 20:25:48 浏览:427
智联招聘无法上传照片 发布:2025-02-13 20:16:03 浏览:529
python元素替换list 发布:2025-02-13 20:03:48 浏览:773
windows系统账户名和密码是多少 发布:2025-02-13 20:03:02 浏览:530
我的世界带有商店服务器好吗 发布:2025-02-13 20:02:50 浏览:616
东莞加密软件 发布:2025-02-13 20:02:05 浏览:869