7. 题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到5报数),凡报到5的人退出圈子,问最后留

作者&投稿:呈鲍 (若有异议请与网页底部的电邮联系)
学习用英语怎么说~

所谓系统学习法,是指把所学内容当成是一个系统看待,力求从大方向出发指导学习,这样,在学习和复习的时候不是按部就班按章节行进,而是先模糊概括,再逐渐在大框架下逐步明晰细节、完善结构、针对缺陷和不足专攻的学习方法。\x0d\x0a\x0d\x0a一、系统学习法的层次\x0d\x0a系统学习法有四种层次,从低到高依次为:\x0d\x0a1、树状结构。\x0d\x0a最初,树状结构从大轮廓理顺。这可以看书的目录。\x0d\x0a其次,是心中有了这种轮廓,对书本以最快速度阅读。自己在心中找出脉络,归纳总结重点,有所取舍。\x0d\x0a大轮廓,即第一层分支(章)了解以后,可以理第二层分支(节)。掌握的标准是能够离开书本不杂不漏地口头复述。\x0d\x0a对于课本或应试复习,第三层分支一般是指每一个知识点的概念、定义、特点和状态描述、另外形态、适用范围、来由和出处、引申和发展、分支、作用、交叉归属、历史和方向这几个方面。在看书、理关系的时候就要不断地提问自己这些问题,为自己找到答案。如果这些方面在教材上讲的不具体不全面,可以到图书馆或书店查阅相关的材料,和同学探讨,也可以询问老师和经验丰富的人。\x0d\x0a经常回忆轮廓甚至整一棵树,发现有含糊、不明确的部分要尽快翻阅教材或相关资料,在模糊处再看一次。掌握的标准是能够清晰地用自己的语言表述。\x0d\x0a初学者可参照课本的目录,理顺关系。系统学习法用得熟练以后,应该是自己归纳总结出树状结构。\x0d\x0a\x0d\x0a2、网状联系。\x0d\x0a在学习的时候,应该有这种观念:任何学习的内容,都是相互联系,相互作用的。而任何出题都不过是这些关系的形式转化(变形)、叠加而已。\x0d\x0a因此第一步就是找出各部分间的直接联系,把网络结构初步地建立起来。但是有些部分和其他部分并不一定能够建立直接的联系,那么还需要发掘第二层、第三层关系。\x0d\x0a要明确各部分之间的关系,以及综合运用。\x0d\x0a要在这过程中学会给自己出题,或者出题给别人做。讲究出题的水准。\x0d\x0a这个阶段掌握的标准是能够把大的网络通过适当的语言充分地表述出来,能够让别人通过你的叙述听懂这些关系。\x0d\x0a\x0d\x0a3、由点及面。\x0d\x0a由于各部分间存在着联系,由每一个部分都可以拉起树状结构。\x0d\x0a每一个部分都可以是中心,都可以是基础,都可以充分有效地发散开,让其他部分为其服务。\x0d\x0a这已经是游刃有余的境界。\x0d\x0a\x0d\x0a4、包容。\x0d\x0a引入其他学科,或生活实践。\x0d\x0a这样,学习一门学科可以提高其他学科]的认识和境界。\x0d\x0a在我们碰到一个学习内容的时候,就应该力图将它统一到自己已经掌握的知识体系中。分析以上三种层次,其实不过是将学习内容清晰化,找出种种特征,共性和外界关系的接口,从而在邻近的知识域中与自己熟悉的内容结合,并启发思维,拓展认识空间。以火把的更多加入照亮更广阔的空间。黑暗中,智慧和希望就是光明。\x0d\x0a学科之间并不是割裂的。教育中把他们区分只是为了更清楚地看到他们,了解他们,不被复杂的联系蒙住眼睛、理不出头绪。但它们本身就是社会的各方面,甚至是同一事物的不同视角。它们能够结合,是理论的必然,如果能够结合,我们将会迅速提升自己的境界,可以说是“悟”,在“知”和“行”的基础上让人豁然开朗。\x0d\x0a这样学到的东西,是真正自己的东西,谁都抢不去。哪怕会有遗忘,也会在最短的时间内有效地捡起。\x0d\x0a\x0d\x0a所谓层次,是针对境界来说的,因为我认为,学习就是一种境界的提高,只不过是看量变有没有积累到质变而已。在还没有真正掌握系统学习法的时候,可以简单地把层次理解为步骤。按照这几种步骤来学。\x0d\x0a我们可以看到,前两个层次可以归类为认知层次。如果能清晰认知,细致关联,要应付并考好各类考试是不成问题的。\x0d\x0a后两个层次更多的是知识的组织和再造,可以归类为认识创新。这不但是要懂得,更多地是要思考,要建立属于自己的知识体系。\x0d\x0a人都存在着发展需求。人对发展的放弃,并不是由于他不想发展,而是他看不到希望,失去了信心。如果给他以比较殷实的基础,他不会满足于已经取得的成就。他会追求自我实现。系统学习法就是为了最快、最有效地结构这一基础。我们没有必要在开始的时候强调后两个层次。等前两个层次都比较出色地达到以后,人自然而然地会从认识的限制中跳出来,对自己提出更高的期望和要求。这时稍加指点,就会愉悦于后两个层次豁然开朗的光明境界,渐渐凝聚自觉、系统认知的动力。

#include<stdio.h>
#define MAX 500

main()
{
int i,k,m,n,people[MAX],*p;

printf("please input the number of people:");
scanf("%d",&n);
p=people;
for(i=0;i<n;i++)
*(p+i)=i+1;

i=0;
k=0;
m=0;

while(m<n-1)
{
if(*(p+i)!=0)
k++;
if(k==5)
{
*(p+i)=0;
k=0;
m++;
}
i++;
if(i==n)
i=0;
}
while(*p==0)
p++;
printf("The people whose number is %d is left\n",*p);
}

1??

剩4个人


代县17081623665: 7. 题目:有n个人围成一圈,顺序排号.从第一个人开始报数(从1到5报数),凡报到5的人退出圈子,问最后留 -
赫裘泪然:[答案] #include #define MAX 500 main() { int i,k,m,n,people[MAX],*p; printf("please input the number of people:"); scanf("%d",&n); p=people; for(i=0;i*(p+i)=i+1; i=0; k=0; m=0; while(m{ if(*(p+i)!=0) k++; if(k==5) { *(p+i)=0; k=0; m++; } i++; if(i==n) i=0; } ...

代县17081623665: 有N个人围成一圈,顺序排号.从第一个开始报数,(从1到3报数),凡报道3的人退出圈子,问最后留下的是原来第几号那位 -
赫裘泪然:[答案] #include #define n 100 void main() {int a[n],i,quit_num,k; for(i=0;ia[i]=i+1; quit_num=0;/*出圈人数*/ i=0; k=0; while(quit_num{... 3 //凡报3的人出列(可任意更改) //下面是排队编号函数:从h 开始的n个人依次编号1到n void stdline(int *h,int n) { int i; ...

代县17081623665: 有n个人围成一圈,顺序排号.从第一个人开始报数(从1报道3),凡报到3的人退出圈子,问最后留下的是 -
赫裘泪然: 先研究一些例子.n=3时,留下1,2;n=4时,若只报数一轮,则剩下1,2,4;若报数两轮,则剩下首次报1,4的.n=5时,若只报数一轮,则剩下1,2,4,5;若报数两轮,则剩下首次报2,4的.n=6时,若只报数一轮,则剩下1,2,4,5;若报数两轮,则剩下首次报1,2,5的.若继续报数,则剩下首次报1,5的.以此类推,最后留下两人,他们的首次报数在变.

代县17081623665: 有n个人围成一圈,顺序排号,从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的 -
赫裘泪然: 弄个三元数组,a[x][y][z],x保存它的原序号(即1~n),y保存数数时的序号(即1、2、3),z保存该数是否曾为3(初始值为0,成为3拨为1).先令m=n,再嵌套循环,外循环判断m是否为1,为1即得到结果跳出循环,不是则进入内循环,并分类讨...

代县17081623665: 一道数学题:N个人围成一圈,顺序标号1~N;从第一个人开始,每隔一个人出去一个人,直到只剩下一个人.例:N=6;出圈的人依次为:2,4,6,3,1;剩下的... -
赫裘泪然:[答案] n=1+(N-2^[log(2,N)])*2,[]为向下取整当第一个人被踢出去时,把剩下的人重新编号,问题就相当于N-1个人的:原来的1号变成N-1号,剩下的新号等于原来的号-2.这样可以列出递推公式:记F(n)的值是最后剩下的人的序号当F(n-...

代县17081623665: C语言:有n个人围成一圈,按顺序从1到n编号.从第一个人开始报数,报数3的人退出圈子 -
赫裘泪然: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18#include <stdio.h> constintM = 3; intmain() {intn, s = 0;scanf("%d", &n);if(n>10000){printf("n must be a natural number less than 10000 \n";printf("%d is out of range of valid values.",n);...

代县17081623665: 有n个人围成一圈,按顺序从1到n编号.从第一个人开始报数,报数3的人退出圈子,下一个人从1开始重新报数,用指针怎么写,核心的算法有点想不明白 -
赫裘泪然:[答案] int a[N]={1}; int i=0,t=N,j=0; while(t==1) //如果还剩下一个人,跳出循环 { if(i==N) //这里是头尾衔接成一个圈 i=0; if(a[i]!=0) //这里是计数报数 j++; if(j==2) //这里是出圈子的人 { a[i]=0; j=0; t--; } i++; } for(i=0;i

代县17081623665: C语言:有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报 数),凡报到3的人退出圈子 问最后留下 -
赫裘泪然: 这样做可以,不过时间复杂度不太好,为O(n ^ 2).事实上,约瑟夫问题存在着时间复杂度为O(n)的解法.要解决这个问题,要用到同余这个数学工具.下面,假设目前还剩下K个人,这K个人从1到M报数,那么,当第M个人被杀后,剩下的人将...

代县17081623665: 有n个人围成一圈,顺序从1开始顺序编号.从第一个人开始报数(从1报到3),凡报到3的人退出圈子,问 -
赫裘泪然: 此题可用数学方法求解. 设有n个人(编号0~(n-1)),从0开始报数,报到(m-1)的退出,剩下的人继续从0开始报数 (用数学方法解的时候需要注意应当从0开始编号,因为取余会取到0解.) 实质是一个递推,n个人中最终留下来的序...

代县17081623665: N个人围成一个圈顺序编号,从第一个人开始报数(从1到M),凡报到M的人退出圈子,问最后一个圈中的人的编 -
赫裘泪然:[答案] void Josegh(n) { int i,j,k,s1,w; s1=s; for(i=1;i=2;i--) { s1=(s1+m-1)%i; /*下一个开始报数的人的编号是(s1+m-1)%i*/ if(s1==0) /*若s1为0,则说明要开始报数的是最后一个人*/ s1=i; w=p[s1-1]; /*将要出圈的人移至数组的最后*/ for(j=s1;j

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网