请问这题多连块题目怎么做?

欢迎加入我们,一同切磋技术。 &
用户名: &&&
密 码: &
共有 659 人关注过本帖
标题:请问这题怎么做~
等 级:论坛游民
帖 子:24
专家分:43
结帖率:100%
&&问题点数:0&&回复次数:8&&&
请问这题怎么做~
n个人围成一个圈,每个人对应一个编号,比如说,10个人,编号就是1——10。现在从第一个开始报数1,2,3这三个数。报到三的人就退出圈子,这样报到最后留下来的那个是员阿里编号为几的?(比如4个人,第一轮下来1——4报的数分别是1,2,3,1.报数为3的退出。此时,编号为1的要接上轮的编号为4的继续报数,应报数2.)
输出那个留下来的人的编号~
希望各位帮忙啊,越简洁越好~
搜索更多相关主题的帖子:
等 级:职业侠客
帖 子:135
专家分:394
呵呵,经典源程序100例里面有,你自己找下
来 自:HUST
等 级:论坛游民
帖 子:39
专家分:49
程序代码:第一种方法:
#include&stdio.h&
#define M 10
#define N 3
void main(void)
&&&int a[M], b[M];&&&&&&/*数组a存放圈中人的编号,数组b存放出圈人的编号*/
&&&for(i = <font color=#; i & M; i++)&&&&&&&&&&&&&&&/*对圈中人按顺序编号1-M*/
&&&&&&a[i] = i + <font color=#;
&&&for(i = M, j = <font color=#; i & <font color=#; i--)
/*i表示圈中人个数,初始为M个,剩1个人时结束循环;j表示当前报数人的位置*/
&&&for(k = <font color=#; k &= N; k++)&&&&&&&&& /*<font color=#至N报数*/
&&&if(++j & i - <font color=#) j = <font color=#;/*最后一个人报数后第一个人接着报,形成一个圈*/
&&&b[M-i] = j?a[j-<font color=#]:a[i-<font color=#];&&& /*将报数为N的人的编号存入数组b*/
&&& for(k = --j; k & k++)/*压缩数组a,使报数为N的人出圈*/
&&&&&a[k]=a[k+<font color=#];
&&&printf(&按次序输出出圈人的编号为\n&);
&&&for(i = <font color=#;i & M - <font color=#; i++)&&&&&&&&&&&&/*按次序输出出圈人的编号*/
&&&&&& printf(&<font color=#d&, b[i]);
&&&printf(&\n最后一人编号为%6d\n&, a[<font color=#]);&&&&&&&&&&&&&&&/*输出圈中最后一个人的编号*/
[ 本帖最后由 kingmacrobo 于
18:55 编辑 ]
来 自:HUST
等 级:论坛游民
帖 子:39
专家分:49
第二中方法&&用做标记的方法,而不用压缩数组:
程序代码:#include&stdio.h&
#define M 10
#define N 3
void main(void)
int a[M], b[M];&&&&&&
int i, j, k=<font color=#;
&&&for(i = <font color=#; i & M; i++)&&&&&&&&&&&&&&
&&&&&&a[i] = i + <font color=#;
&&&for(i=<font color=#, j = <font color=#; k&=M-<font color=#; i++)
&&&&&& if (a[i]==<font color=#)
&&&&&& if (i==M-<font color=#)
&&&&&&&&&&&i=-<font color=#;
&&&&&& continue;
&&&&&& if (++j==N)
&&&&&& b[k++] = a[i];
&&&&&& j=<font color=#;
&&&&&& a[i]=<font color=#;
&&&&&& if (i==M-<font color=#)
&&&&&& i=-<font color=#;
&&&printf(&按次序输出出圈人的编号为\n&);
&&&for(i = <font color=#;i & M - <font color=#; i++)&&&&&&&&&
&&&&&& printf(&<font color=#d&, b[i]);
&&&printf(&\n最后一人编号为%6d\n&, b[M-<font color=#]);&&&&&&&&&&&&&&
等 级:论坛游民
帖 子:24
专家分:43
回复 4楼 kingmacrobo
谢谢啦!学到了!
等 级:论坛游侠
帖 子:59
专家分:101
#include &stdio.h&
#define N 8
int fun(int s[],int n,int m,int d)
&&&int i,x,j=d;
&&&if(m==1)
&&& for(i=n-1;i&=0;i--)
&&& if(s[i]==1)
&&& {printf(&当人数为%d时,最后一位的编号是:%5d&,N,i+1);
&&&&&for(i=0;i&n;i++)
&&&&&& if(s[i]!=0)
&&&&&& j++;
&&&&&&if(j%3==0)
&&&&&&s[i]=0;
&&&&&x=m-(m+d)/3;
&&&&&d=(m+d)%3;
&&&&&fun(s,n,x,d);
void main()
&&& int ss[N];
&&& for(a=0;a&N;a++)
&&& ss[a]=1;
&&& fun(ss,N,N,0);
&&&getche();
等 级:论坛游民
帖 子:24
专家分:43
以下是引用kingmacrobo在 18:54:04的发言:
第一种方法:
#define M 10
#define N 3
void main(void)
&&&int a[M], b[M];&&&&&&/*数组a存放圈中人的编号,数组b存放出圈人的编号*/
&&&for(i = 0; i & M; i++)&&&&&&&&&&&&&&&/*对圈中人按顺序编号1-M*/
&&&&&&a = i + 1;
&&&for(i = M, j = 0; i & 1; i--)
/*i表示圈中人个数,初始为M个,剩1个人时结束循环;j表示当前报数人的位置*/
&&for(k = 1; k &= N; k++)&&&&&&&&& /*1至N报数*/
&&&if(++j & i - 1) j = 0;/*最后一个人报数后第一个人接着报,形成一个圈*/
&&&b[M-i] = j?a[j-1]:a[i-1];&&& /*将报数为N的人的编号存入数组b*/
&&& for(k = --j; k & k++)/*压缩数组a,使报数为N的人出圈*/
&&&&&a[k]=a[k+1];
&&&printf(&按次序输出出圈人的编号为\n&);
&&&for(i = 0;i & M - 1; i++)&&&&&&&&&&&&/*按次序输出出圈人的编号*/
&&&&&& printf(&%6d&, b);
&&&printf(&\n最后一人编号为%6d\n&, a[0]);&&&&&&&&&&&&&&&/*输出圈中最后一个人的编号*/
}蓝色那两行没看懂~那个循环是输出K=N,J=0。但是对下面有什么作用我没弄清楚~ 进而 下面的我也理解不了了~
来 自:农村一小伙
等 级:贵宾
威 望:12
帖 子:1132
专家分:2671
#include&stdio.h&
#define N 50
void main()
&&& int yiwei(int b[],int k);/*函数声明*/
&&& int i,count=0,a[N],n;
&&& a[0]=0;
&&& printf(&请输入一个整数n:\n&);
&&& scanf(&%d&,&n);
&&& for(i=1;i&=n;i++)/*从1开始一直排到n*/
&&&&&&&&a[i]=i;
&&& for(i=1;i&=n;i++)
&&&&&&&&printf(&%2d&,a[i]);
&&& printf(&\n&);
&&& yiwei(a,n);/*函数调用*/
&&& for(i=1;i&=n;i++)
&&&&&&&&if(a[i]!=0)
&&&&&&&&&&&&printf(&剩下的是原来的第%d号\n&,i);
int yiwei(int b[],int k)/*函数定义*/
&&& int i,j,count=0,t=1,h=1;
&&& for(j=1;j&=k;j++)
&&& for(i=1;i&=k;i++)
&&&&&&&&if(b[i]!=0)
&&&&&&&&& b[i]=h++;
&&&&&&&&&&&if(b[i]==3)
&&&&&&&&&&&{
&&&&&&&&&&&&b[i]=0;/*报到三时归零*/
&&&&&&&&&&&&count++;/*记录零元素的个数*/
&&&&&&&&&&&&h=1;/*此时h归1*/
&&&&&&&&&&&}&&&&&&&&
&&&&&&&&&&&if(i==k)
&&&&&&&&&&&&
&&&&&&&&&&&&if(count==(k-1))/*当只有一个数不为零时跳出内循环*/
&&&&&&&&& {
&&&&&&&&&&&&
&&&&&&&&& }
&&& if(count==(k-1))/*当只有一个数不为零时跳出外循环*/
&&&&&&&&&&&&
&&& for(i=1;i&=k;i++)/*验证是否有n-1个0*/
&&&&&&&&printf(&%2d&,b[i]);
&&& printf(&\n&);
&&& return(0);
&&& 这是我做的
等 级:论坛游民
帖 子:24
专家分:43
#include &stdio.h&
#define N 7
#define M 3
&&& int a[N],i,j,t=-1,k=0,*q=a,b[N];
&&& for(i=0,j=1;;i++)
&&& {&&&if(k==N)
&&&&&&&&if(j==M+1)j=1;
&&&&&&&&if(i==N)i=0;
&&&&&&&&if(q[i]!=M&&j==M)b[k]=i,k++;
&&&&&&&&if(q[i]!=M)
&&&&&&&&t=i,q[i]=j;
&&&&&&&&j++;
printf(&出圈顺序为&);
printf(&\n&);
&&& for(i=0;i&k-1;i++)
printf(&%d&&&,b[i]+1);
printf(&\n&);
printf(&最后留下来的人编号为%d\n&,t+1);
哎··还是自己的才看得懂,看别人写的真的很头大~~~&&还是谢谢各位了
版权所有,并保留所有权利。
Powered by , Processed in 0.099813 second(s), 7 queries.
Copyright&, BCCN.NET, All Rights Reserved扫二维码下载作业帮
3亿+用户的选择
下载作业帮安装包
扫二维码下载作业帮
3亿+用户的选择
请问,这道题怎么做?如图,已知AB=AC,角ABD=角ACD.求证:AD垂直平分BC
众神暧昧132
扫二维码下载作业帮
3亿+用户的选择
证明:因为AB=AC,角ABD=角ACD 且AD=AD所以三角形ABD全等于三角形ACD所以 BD=CD所以角DBE=角DCE所以角ABE=角ACE所以三角形DBE全等于三角形ECD所以BE=EC所以 DE是BC的中垂线所以AD垂直平分BC
为您推荐:
其他类似问题
因为:AB=BC所以ABC为等腰三角形所以角ABC=角ACB而角ABD=角ACD所以角CBD=角BCD所以三角BCD为等腰三角形所以DB=DC三角形ABD,ACD中.AB=ACBD=CDAD=AD所以三角形ABD全等于ACD所以角BAD=角...
答:因为Ab=ac故bd=dc,因db=dc所以角dbc=角dcb故得角abc=角qcb。又因bd=dc,ed=ed,角dbc=角dcb所以三角形dbe=三角形dce,所以be=ce,故得角bde=角edc所以ad平分角bdc,因be=ce所以ad垂直平分bc
扫描下载二维码请问能教教我怎么做这题吗_中华会计网校论坛
今日新帖:3 在线学员:10528
论坛等级: ★★学员
学术级别: 实习生
鲜花:<span id='flower
金币:<span id='medal27
某企业8月份生产甲产品,该产品生产需经过三道工序加工制成,产品加工定额工时为100小时,每道工序分别为:30小时、50小时、20小时。企业产品生产比较均衡。耗用材料,是在每道工序开始时一次投入,材料的定额耗用量各道工序分别是:40公斤、50公斤、10公斤。各道工序的在产品数量分别为:100件、300件、400件。本期完工产品数量为300件。甲产品本期生产费用合计分别为:直接材料808000元,直接人工588000元,制造费用504000元。要求:计算8月份完工产品成本和期末在产品成本。请问这题怎么做?谢谢
楼主其他文章
最美女会计
论坛等级: 终极会员
学术级别: 实习生
回帖:15522
经验:40984
鲜花:<span id='flower40
金币:<span id='medal3
企业产品生产比较均衡,各工序完工比率:第一道工序:30*50%/100=15%&&&&&&100*15%=15第二道工序(30+50*50%)/100=55%&&&&300*55%=165第三道工序:(30+50+20*50%)/100=90%&&400*90%=360合计&&&&
15+165+360=540完工产品直接人工588000/(300+540)*300=210000&&A在产品直接人工0+540)*540=378000&&&&X完工产品制造费用504000/(300+540)*300=180000&&B在产品制造费用504000/(300+540)*540=324000&&
Y由于直接材料是在每道工序一次投入,所以各工序材料消耗比率为第一道工序40/100=40%&&&&&&100*40%=40第二道工序(40+50)/100=90%&& 300*90%=270第三道工序(40+50+10)/100=100% 400*100%=400合计40+270+400=710完工产品直接材料
808000/(300+710)*300=240000&&C在产品直接材料
808000/(300+710)*710=568000&&
Z完工产品成本=A+B+C在产品成本 =X+Y+Z我试着做的,不知道对不!
论坛等级: ★★学员
学术级别: 实习生
鲜花:<span id='flower
金币:<span id='medal27
回复#1楼痴呆哥的帖子谢谢您了!
正保培训项目
我的新动态扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
下载作业帮安装包
扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
请问这个题应该怎么做The little boy was so scared that he caught his mother ___ the coat.A.by B.in C.on D.to不过为什么是选A呢
扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
我理解的是“通过衣服抓住了妈妈”in,在...里面on,在...上面to,表示方向都不合适
为您推荐:
其他类似问题
扫描下载二维码}

我要回帖

更多关于 头脑问题成就怎么做 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信