数学美女上司求解衣视频!!!

Joseph环的数学求解及史上最难Joseph问题(转载) - NewPanderKing - 博客园
抬头是山,路在脚下!
无论是用链表实现还是用数组实现都有一个共同点:要模拟整个游戏过程,不仅程序写起来比较烦,而且时间复杂度高达O(nm),当n,m非常大(例如上百万,上千万)的时候,几乎是没有办法在短时间内出结果的。我们注意到原问题仅仅是要求出最后的胜利者的序号,而不是要读者模拟整个过程。因此如果要追求效率,就要打破常规,实施一点数学策略。为了讨论方便,先把问题稍微改变一下,并不影响原意:问题描述:n个人(编号0~(n-1)),从0开始报数,报到(m-1)的退出,剩下的人继续从0开始报数。求胜利者的编号。我们知道第一个人(编号一定是m%n-1) 出列之后,剩下的n-1个人组成了一个新的约瑟夫环(以编号为k=m%n的人开始):&& k&& k+1&& k+2&& ... n-2, n-1, 0, 1, 2, ... k-2并且从k开始报0。现在我们把他们的编号做一下转换:k&&&&& --& 0k+1&&& --& 1k+2&&& --& 2......k-2&&& --& n-2k-1&&& --& n-1变换后就完完全全成为了(n-1)个人报数的子问题,假如我们知道这个子问题的解:例如x是最终的胜利者,那么根据上面这个表把这个x变回去不刚好就是n个人情况的解吗?!!变回去的公式很简单,相信大家都可以推出来:x'=(x+k)%n如何知道(n-1)个人报数的问题的解?对,只要知道(n-2)个人的解就行了。(n-2)个人的解呢?当然是先求(n-3)的情况 ---- 这显然就是一个倒推问题!好了,思路出来了,下面写递推公式:令f[i]表示i个人玩游戏报m退出最后胜利者的编号,最后的结果自然是f[n]递推公式f[1]=0;f[i]=(f[i-1]+m)%i;&& (i&1)有了这个公式,我们要做的就是从1-n顺序算出f[i]的数值,最后结果是f[n]。因为实际生活中编号总是从1开始,我们输出f[n]+1由于是逐级递推,不需要保存每个f[i],程序也是异常简单:#i nclude &stdio.h&main(){&& int n, m, i, s=0;&& printf ("N M = "); scanf("%d%d", &n, &m);&& for (i=2; i&=n; i++) s=(s+m)%i;&& printf ("The winner is %d\n", s+1);}这个算法的时间复杂度为O(n),相对于模拟算法已经有了很大的提高。算n,m等于一百万,一千万的情况不是问题了。可见,适当地运用数学策略,不仅可以让编程变得简单,而且往往会成倍地提高算法执行效率。
史上最难Joseph问题:
编号为1,2,......,n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。一开始任选一个正整数作为报数上限值m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止报数。报m的人出列,将他的密码作为新的m值,从他在顺时针方向上的下一个人开始重新从1报数,如此下去,直至所有人全部出列为止。试设计一个程序求出列顺序。(基本要求:利用单向循环链表存储结构模拟此过程,按照出列的顺序印出各人的编号
随笔 - 212宏碁电脑买来有张碟片是干嘛用的
您的举报已经提交成功,我们将尽快处理,谢谢!
把小键盘关了就可以了,功能键FN+Scroll Lock
换个键盘,或者把键盘帽掰下来看看
大家还关注
(window.slotbydup=window.slotbydup || []).push({
id: '2081942',
container: s,
size: '1000,60',
display: 'inlay-fix'数学求解!!!_百度知道
数学求解!!!
已知函数f(x)=2^x-1/2^x+1,证明f(x)是r上的增函数。
提问者采纳
(2^x+1)∵2^x是R上的增函数;x2;(2^x+1)是R上的增函数,且x1,值域为(0,值域为(1;(2x1&#178,值域为(-1:任取x1&lt,值域为(0.因为x1&lt,+00)∴2^x+1是R上的增函数,值域为(-2;0;(2^x+1)是R上的增函数,1)即f(x)是R上的增函数;(2^x+1)=1-2&#47,所以x1²+1)(2x2²+1),1)用定义证明;)/-x2&#178,所以f(x1)-f(x2)&lt,0)∴1-2/+1);(2^x+1)是R上的减函数,1)∴-2/,f(x2)=1-2&#47.则f(x1)-f(x2)=2(x1²x2²x2;&lt,+00)∴1&#47,x2属于R,所以f(x)为R上的增函数;(2x1²(2x2&#178,分别代入原式得f(x1)=1-2&#47,值域为(-1f(x)=(2^x+1-2)/+1)
为您推荐:
其他2条回答
0;(x)=2^x·ln2-(1/0;(x)=2^x·ln2-2^(-x)·ln(1&#47,ln2&0);2)&2)^x·ln(1/2)^x+1f'0∴f&#39,ln(1/(x)=2^x·ln2-2^(-x)·ln(1&#47,∴2^x·ln2&0);2) ∵f(x)=2^(-x)在x∈R上都有f(x&0 ∵f(x)=2^x在x∈R上都有f(x&gt,∴-2^(-x)·ln(1/2)&2)f&#39f(x)=2^x-(1/2)&gt
2^x在r上增函数且值域是(0,+00)解:设t=2^x
t的定义域是(0,+00)f(x)=g(t)=t-1/t+1g'(t)=1+1/(t^2)&0所以g‘(t)在(0,+00)单增所以f(x)是r上的增函数
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 结构力学求解器 的文章

更多推荐

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

点击添加站长微信