wikioi(wikioi 1207数列,用pascal语言)
本文目录
wikioi 1207数列,用pascal语言
var s,s2,s3:string; tot,p,t,len:longint; b:array of longint; don,sum:array of string;function chu(a:string):string; var yu,i:longint; c:string;begin yu:=0; c:=’’; for i:=1 to length(a) do begin c:=c+chr((ord(a)-48+yu) shr 1+48); yu:=((ord(a)-48) mod 2)*10; end; while c=’0’ do delete(c,1,1); exit(c);end;function add(a,b:string):string; var c:string; i,p,jing:longint;begin c:=’’; while length(a)》length(b) do b:=’0’+b; while length(a)《length(b) do a:=’0’+a; jing:=0; for i:=length(a) downto 1 do begin p:=(ord(a)-48-48)+jing; jing:=p div 10; p:=p mod 10; c:=chr(p+48)+c; end; if jing《》0 then c:=chr(jing+48)+c; exit(c);end;procedure f(s,ls:string;t:integer);begin if s=’0’ then begin sum:=’1’; inc(tot); b:=t; exit; end; if s=’1’ then begin sum:=’1’; inc(tot); b:=t; exit; end; s2:=chu(s); s3:=add(s2,’1’); if odd(ord(s)-48) then f(s2,s3,1) else f(s2,s3,2); inc(tot); b:=t;end;begin readln(t); for t:=1 to t do begin readln(s); len:=length(s); tot:=0; f(s,add(s,’1’),0); don:=sum; p:=1; while p《》tot do begin if b=1 then begin sum); sum; end else begin sum; sum); end; don:=sum; inc(p); end; writeln(sum); end;end.
wikioi 1131 http://wikioi.com/problem/1131/
first;你这里也太夸张了吧,一百万个整型,你知道将要占用多大的空间吗?一个整形占2字节。一个字节=8bit。也就是说你需要 2*8*1000000=16000000bit才够用。2的10次方是1k,2的20次方是1M,2的30次方是1G。也就是说你所需要的空间是2的一千六百万次方。也就是5万多个G才能放进你的first这个数组。
更多文章:
boseqc30耳机怎么连接蓝牙(刚入手BOSE QC30 想连电脑 怎么连)
2024年2月25日 09:40
苹果笔记本软件下载网站(苹果笔记本电脑上 的付费软件如何免费下载)
2023年1月23日 19:45
玄冰400双风扇(玄冰400双风扇比单风扇好么另外玄冰400怎么样)
2024年11月15日 05:45
电脑包在哪里买(最近刚入了一个电脑,必要商城上有卖电脑包的吗)
2023年3月29日 22:30
oppo最便宜nfc手机(oppo有哪些型号支持nfc功能的手机)
2023年3月23日 01:30
小黄蜂摩托车250价格(本田cb250摩托车全新车大概多少钱网上有的要1~2w有的只要2000多到底能信吗请业内高人请教)
2024年6月1日 00:50
三星gearfit2pro怎么连接手机(三星手机怎么连接三星的智能手表gear fit)
2024年6月23日 00:44