问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

pascal数字游戏的简便做法

发布网友 发布时间:2024-10-01 23:23

我来回答

1个回答

热心网友 时间:2024-11-21 01:20

对于这题给人的第一感觉就是用穷举法,把每个情况都探到即可解题。但你要仔细看一下题目要求就会发现问题所在。题目要求n(1≤n≤50)和m(1≤m≤9)粗略估计一下所可能出现的情况应为429即是4.06×1014次。这样是无法在规定的时间里完成。那么如何解决呢?答案就是用递推法。如何递推呢?我们假设有n个数分成m个部分,也可以看成切m个口。第一个切口切完后,我们就可以看成一个有n个数组成的长链。那末这第一刀就有n个切法 ,我们就先对第一种切法进行研究,也就是把从1到n个数切m-1刀分成m个部分。首先我们想象第一部分可分为1个数字、2个数字、3个数字……(n-m)个数字。我们把其求和取模的结果分别存入数组的(n-m)个单元中。接着我们可以把第一、二部分合并考虑了,我们可以认为只有(n-m+1)个数字分成两个部分和(n-m)个数字分成两个部分……和2个数字分成两个部分的(n-m)种情况。见下图所示,两个部分寻找最大值过程,我们再把每种情况中的最大值和最小值找出,分别存入d和x两个数组中。再接着我们可以把第一、二、三部分合并考虑了,我们可以认为只有(n-m+2)个数字分成三个部分和(n-m+1)个数字分成三个部分……和3个数字分成三个部分的(n-m)种情况。我们再把每种情况中的第三部分,分别于两个部分的最大值和最小值相乘就可以找到三个部分的最大值和最小值。如下图所示,三个部分寻找最大值过程。

下面就是我所编的参考程序:

Var

a,b:Array[1..100]Of integer;

d,x:Array[1..50]Of longint;

m,n,l,i,j:Integer;

mk,sk:longint;

Procedure Work;

Var

i,j,s,k,k1:Integer;

da,xiao:longint;

Begin

for i:=1 to l do

begin

s:=0;

for j:=1 to l-i+1 do

begin

s:=s+b[m+j+i-2];

end;

d[i]:=s mod 10;

if d[i]<0 then d[i]:=d[i]+10;

end;

x:=d;

for i:=m-1 downto 1 do

begin

for j:=1 to l do

begin

da:=0;xiao:=90000000;

for k:=j to l do

begin

s:=0;

for k1:=j to k do

s:=s+b[i+k1-1];

s:=s mod 10;

if s<0 then s:=s+10;

if da<s*d[k] then da:=s*d[k];

if xiao>s*x[k] then xiao:=s*x[k];

end;

d[j]:=da;x[j]:=xiao;

end;

end;

end;

begin

readln(n,m);

mk:=0;sk:=90000000;l:=n-m+1;

for i:=1 to n do

readln(a[i]);

for i:=1 to n-1 do

a[i+n]:=a[i];

for i:=1 to n do

begin

for j:=1 to n do
b[j]:=a[i+j-1];
Work;
if mk<d[1] then mk:=d[1];
if sk>x[1] then sk:=x[1];
end;
writeln(sk);writeln(mk);
end.
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
老式电脑u盘启动bios老电脑如何设置U盘启动 老式台式机装了U启动后怎么设U盘启动 老电脑u盘启动不了电脑无法从u盘启动 u盘启动老电脑bios设置u盘启动怎么办_老机子bios设置u盘启动 老电脑怎么u盘启动老台式电脑开机怎么启动u盘装系统 为什么俄罗斯要击落mh17? 吃鸡模式《生死狙击》手游小鸡快跑模式详解介绍_吃鸡模式《生死狙击》手... 吃鸡自己和队友都变成小鸡能看到的吗 吃鸡死后变小鸡队友能看见吗 驾照一次性扣6分可以办理校车从业资格证吗? 蛇和虎相克还是相冲 班上一个男生对我说做梦梦到我了 而我回复他这并不是什么奇怪的事我经常... 贴现资产什么科目 贴现进财务报表什么科目 我同学做梦老是梦到我什么情况 ...她说刚才做梦梦到我了,我问她梦到我什么,她就脸红了叫我别乱问,她... corsair是林肯哪一款汽车? ...觉着自己书读的多了感觉自己不能跟坏习惯,坏脾气,坏人坏事沾边,一沾... 怎么能够改掉大学生的坏习惯? 国产三国题材单机游戏年表 为什么我的酷我没有声音 美的空调e5什么故障怎么解决? 夏季、白天喝柠檬水到底好不好?请专业的回答一下!谢谢~不要抄答案 为什么ps画笔没变化为什么ps画笔没变化就没了呢 ps的吸管工具怎么吸颜色ps的吸管工具怎么吸颜色不一样 ps怎么吸取材质只有颜色ps怎么吸取材质只有颜色没有颜色 我姓谢儿子是2006/11/28十四时四十分生取什么名字好啊 ps如何快速吸取颜色后自动返回画笔工具ps吸色如何自动换回笔_百度知... 表白女生的情话简短 对女生表白的情话 坦克世界is6 狮式 59式哪个好 pascal求组合数的方法? ...销售人员给我讲保险在5000块钱左右,具体的按保单计算,提车的... ...但是我购车发票上车价是14.87万,这是怎么回事呢? 小蓝视频下架是怎么回事?为什么下架? 坐久了头昏是什么原因 如何打开小蓝视频的官方网站? 坐久了站起来眼前发黑怎么回事 京东店铺在哪看?京东店铺卖家规则 ipad第7代多大尺寸 小蓝视频是不是正规的软件? 坐久了起来头晕眼黑怎么回事 小蓝视频是真的吗?可以用吗? 京东怎么查看店铺营业执照?开店要营业执照吗? 京东怎么搜索店铺?京东店铺名称在哪里看? 女生不喜欢一个男生会当面约出来告诉他吗? ...左右出生的。男的。我姓吕,我的儿子应该取个什么名字?? 属羊阴历八月初五十五点四十一生姓吕男孩起名 我女儿是09年阴历8月15日白天7点30出生的取什么名字好呢?爸爸姓吕妈妈... 集成吊顶安装的方法集成吊顶安装注意什么 急求基于ASP的网上考试系统 (1)登录界面的设计:教师身份登录和学生身份...
  • 焦点

最新推荐

猜你喜欢

热门推荐