Pascal问题:隐藏的最大整数

[复制链接]
查看11 | 回复2 | 2011-8-19 07:21:21 | 显示全部楼层 |阅读模式
今天是个好日子,整数小伙伴们又一起出来聚会了。大家商议决定:今天玩捉迷藏!玩法很简单,就是从所有人中找出一部分藏在一个长长的字符串中(任何两个人都不会并排藏在一起),而且,因为伙伴们太多,只找到此次藏起来的最大的那个伙伴就可以了。并且,大家一致同意,让“1”做第一个找人的人——当然,事先,他并不知道到底有哪些伙伴藏起来了……游戏开始了。“1”是一个很聪明的人,很快,他就把最大的那个伙伴找出来了……如果你是“1”,你能写个程序来解决这件事情么?【输入】只有一个字符串,这里面藏有很多的整数小伙伴。【输出】只有一个整数,表示藏在其中的最大的那个整数小伙伴的位置(整数第一个数字在原串中的位置)。已知,所有的小伙伴都不会超过2000000000。【样例输入】*((*-a32AB342//32143abAA【样例输出】17【说明】这个串中共藏有32、342和32143三个小伙伴,其中32143是最大的,它在原来的串中的位置是17。
回复

使用道具 举报

千问 | 2011-8-19 07:21:21 | 显示全部楼层
varch,s:string;i,j,t,c,k,p,q:longint;a,b:array[1..1000]oflongint;beginreadln(ch);j:=length(ch);i:=1;t:=0;k:=0;whilei=jdobeginwhile(ord(ch)48)or(ord(ch)57)doi:=i1;k:=i;while(ord(ch)=48)and(ord(ch)=57)dobegins:=sch;i:=i1;end;t:=t1;b[t]:=k;val(s,a[t],c);s:=\'\';end;fori:=1tot-1doforj:=1tot-idoifa[j]a[j1]thenbeginp:=a[j];a[j]:=a[j1];a[j1]:=p;q:=b[j];b[j]:=b[j1];b[j1]:=q;end;writeln(b[1]);end.
回复

使用道具 举报

千问 | 2011-8-19 07:21:21 | 显示全部楼层
vars:ansistring;ans,top,b,t,l,opt:longint;s1:string;beginreadln(s);l:=length(s);top:=1;whiletop=ldobeginiford(s[top])=48theniford(s[top])=57thenbeginb:=top;while(ord(s[top])=48)and(ord(s[top])=57)doinc(top);s1:=copy(s,b,top-b);val(s1,t);iftansthenbeginans:=t;opt:=b;end;end;inc(top);end;write(opt);end.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行