PASCAL难题

作者&投稿:茅斧 (若有异议请与网页底部的电邮联系)
pascal难题,超难!!!!!!!!!!!!!!!!!~

先装大的,若未装满一箱,就考虑尽可能地先装(能装下的较大的)。
var a:array[1..6]of longint;
n,i,j:longint;
begin
for i:=1 to 6 do read(a[i]);
for i:=6 downto 1 do
if a[i]>0 then
begin
if i=6 then inc(n,a[i])
else if i=5 then begin inc(n,a[i]); dec(a[1],a[i]*11) end
else if i=4 then
begin
inc(n,a[i]); j:=a[i]*5;
if a[2]<=j then begin dec(j,a[2]); a[2]:=0 end
else begin dec(a[2],j); j:=0 end;
dec(a[1],4*j);
end
else if i=3 then
begin
inc(n,(a[3]+3)div 4);
j:=9*(4-a[3] mod 4);
if j=27 then
begin
if a[2]<=5 then begin dec(j,4*a[2]); a[2]:=0 end
else begin dec(a[2],5); j:=7 end;
dec(a[1],j);
end
else if j=18 then
begin
if a[2]<=3 then begin dec(j,4*a[2]); a[2]:=0 end
else begin dec(a[2],3); j:=6 end;
dec(a[1],j);
end
else begin
if a[2]<=1 then begin dec(j,4*a[2]); a[2]:=0 end
else begin dec(a[2]); j:=5 end;
end;
end
else if i=2 then
begin
inc(n,(a[2]+8)div 9);
j:=4*(9-a[2] mod 9);
dec(a[1],j);
end
else inc(n,(a[1]+35) div 36);
end;
writeln(n);
end.

讲个思想好了
用字符串读
一位一位搜判断ord(s[i])后的值在不在48—58之间
如果在说明是整数,那么用一个暂存变量x:=x*10+ord(s[i])-48
直到找到一个不是整数的字符为止
total:=total+x;
x:=0;
最后输出total就ok了
注:本人认为:1、此题不难
2、建议自己做,只有自己做才会进步
3、水仙花数更水,直接枚举

第一题(好简单):
program temp;
var
a:array[1..10000]of integer;
j,k,l,i:integer;
f:set of 1..100;
begin
readln(l);
for i:=1 to l do read(a[i]);readln;
for i:=1 to l-1 do
for j:=i+1 to l do if a[i]>a[j] then begin k:=a[i];a[i]:=a[j];a[j]:=k;end;
for i:=1 to (l+1) div 2 do begin write(a[i*2-1],' ');f:=f+[i*2-1];end;
for i:=l downto 1 do if not(i in f)then write(a[i],' ');
readln;
end.
第二题:
program temp;
type
ass=record
g,s:integer;
end;
var
s:string;
a:array[1..1000]of ass;
i,j,k,m,n,l,b:integer;sa:ass;
begin
readln(s);
for i:=1 to length(s) do begin
if(ord(s[i])-48>=0)and(ord(s[i])-48<=9)then begin
if (ord(s[i-1])-48>=0)and(ord(s[i-1])-48<=9)then
a[n].s:=a[n].s*10+ord(s[i])-48
else begin
n:=n+1;a[n].s:=ord(s[i])-48;a[n].g:=i;
end;
end;
end;
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i].s<a[j].s then begin sa:=a[i];a[i]:=a[j];a[j]:=sa;end;
writeln(a[1].g)
end.


蟹类动物的螃蟹种类
Asthenognathus inaequipes 异足倒颚蟹Atergatis dilatatus 宽身爱洁蟹Atergatis floridus 花纹爱洁蟹...Calvactaea tumida 肥胖秃头蟹Camatopsis rubida 红色相机蟹Camptandrium anomalum 异常猴面蟹Camptand

谁有已灭绝动物资料?急急急急急急急急急急!!!
Delalande’S Madagascar Concal德拉氏岛鹃1930年 亚洲: Columba Jouyi银斑黑鸽1936年 Arabian Ostrich...Trexas Grey Wolf德克萨斯灰狼1920年 Great Plains Lobo Wolf西部灰狼1926年 New Mexican Wolf新墨西哥狼...但是用克隆技术挽救濒危动物面临着很多难题。 首先,现有的克隆技术往往需要很多该动物的卵细胞,而与之...

环翠区15389736273: 有关Pascal的几个难题.急急急!!!!!
住胀复方: 题量真大啊!分批告你吧. 第一题: program pi; var i,n:integer; s:real; begins:=0; 计数器,计算π/4的值;n:=10000;for i:=1 to (2*n) do {1=2*1-1,3=2*2-1,5=2*3-1……4n-1=39999=2*20000-1};if i mod 2=1 then s:=s+1/(2*i-1) else s:=s-1/(2*i-1...

环翠区15389736273: pascal 难题身份证号码是由十七位数字本体码和一位校验码组成.排列顺序从左到右依次为:六位数字“地址码”、八位数字“出生日期码”、三位数字“顺... -
住胀复方:[答案] 能.只要按照上述提到的方法计算就可以,计算后再对照找到校验码即可 我还试了一遍呢

环翠区15389736273: 求解几道pascal难题
住胀复方: Hanoi双塔问题 var i,n,t:longint; begin read(n);t:=1; for i:=1 to n do t:=2*t; dec(t);t:=t*2; writeln(t); end.

环翠区15389736273: pascal 难题 -
住胀复方: ____这道题不妨用贪心的思想解决.____我们可以从高到低考察原数的每一位,对于剩余的删除次数枚举删除的次数,可以不删.在所有的可能情况中选择删除后当前位最小的情况.如果有多种情况满足最优情况,则选择删除最少的.如果最...

环翠区15389736273: Pascal的一道难题
住胀复方: program ex; var k,i:integer; r:real; begin readln(r,k); for i:=1 to k-1 do r:=sqrt(r); writeln(r:0:5); end.

环翠区15389736273: 帮忙解pascal难题~~~ -
住胀复方: 我把主要程序给你字符串读入工作自己来编吧const maxlen=100;var i,j,n,c,t:integer; sum,fac:array[1..maxlen+1]of integer;begin readln(n); fillchar(sum,sizeof(sum),0); fillchar(fac...

环翠区15389736273: PASCAL超难题:构造幻方 求解 -
住胀复方: Program MagicSquare; {幻方构造程序}{uses crt; } const maxn=100; {能打印出的幻方最大阶数 } vara:array[1..maxn,1..maxn] of integer;n:integer;i,j:integer;ch:char; procedure prn(n:integer); {打印幻方到屏幕 } vari,j:integer;...

环翠区15389736273: pascal 难题 -
住胀复方: 虽然我的跟楼上的差不多,不过,我的可以读入256位以内的整数vara:array[1..256] of char;c,d:integer;s:string;ch:char;beginreadln(s);for c:=1 to length(s) do a[c]:=s[c];for c:=1 to length(s) dofor d:=c+1 to length(s) doif a[c]<a[d] then beginch:=a[c];a[c]:=a[d];a[d]:=ch;end;for c:=1 to length(s) do write(a[c]);end.

环翠区15389736273: pascal超难题:湖 -
住胀复方: const dx:array[1..4]of -1..1=(-1,1,0,0); dy:array[1..4]of -1..1=(0,0,-1,1);var max,sum,n,m,k,t,x,y,i,j:longint; f:array[0..101,0..101]of boolean;procedure kk(x,y:longint);var i,xx,yy:longint;begin f[x,y]:=false; inc(sum); for i:=1 to 4 do begin xx:=x+dx[i]; yy:=y+dy[i]...

环翠区15389736273: Pascal难题 -
住胀复方: program ex;var n, i, j, s: longint;begin read(n); s := 0; for i:=1 to n do begin j := i; while j <> 0 do begin s := s + j mod 10; j := j div 10; end; end; write(s);end.

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