Afişează mesaje
|
Pagini: [1]
|
3
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / probleme
|
: Aprilie 25, 2007, 17:51:24
|
Peanutz ms pt sfat...m-am gandit si eu la asta dar problema apare acum......in fisierul.in in pascal pe o linie incap numai 255 de carcatere .....daca iei au pus in test de 1000000 de cifre...atunci mie imi apare in fisier pe mai multe linii. Si acum apare problema ca eu nu stiu cate carcatere sunt si atunci trebuie sa pun sa citeasca caracter cu caracter pana se termina fisierul. BUN, dar atunci imi citeste ci al 2 numar si nu mai am cum sa il aflu dup-aia..intelegi? iti las un id (al unu i prieten dar sunt eu pe al acum) de mess in caz ca ma poti ajuta bogdanpopescu88 Later Edit: Care imi poate pune si mie de ce sursa mea ia numai 90 de puncte? Eu sunt 100% sigur ca am facut foarte bine tot....la testul 2 imi da incorect var a,c:array[0..10000000]of byte; uc:integer; n:int64; i,j:longint; m,l,aux,aux2,rest:int64; s:ansistring; fi,fo:text; procedure imp(k:int64); begin j:=1; for i:=1 to m do begin aux:=aux*10+a[i]; if aux>k then begin c[j]:=aux div k; rest:=aux mod k; inc(j); aux:=rest; end; end; end; procedure sum(k:int64); begin aux2:=l; for i:=m downto 0 do begin aux2:=aux2+a[i]; uc:=aux2 mod 10; c[i]:=uc; aux2:=aux2 div 10; end; end; begin assign(fi,'next.in'); reset(fi); assign(fo,'next.out'); rewrite(fo); a[0]:=0; readln(fi,s); for i:=1 to length(s) do val(s[i],a[i]); m:=length(s); readln(fi,n); aux:=0; imp(n); if aux=0 then for i:=1 to m do write(fo,a[i]) else begin l:=n-aux; sum(l); if a[0]<>0 then write(fo,c[0]); for i:=1 to m do write(fo,c[i]); end; close(fi); close(fo); end.
NEVER MIND AM LUAT 100
|
|
|
6
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / probleme
|
: Aprilie 24, 2007, 21:17:39
|
imi spuneti si mie dc imi da non-zero exit status la acest program?... de calculat calculeaza foarte bine ultima cifra numai ca nu am pus inca pe numere mari....puteti incerca pe calculator si sper sa ma puteti ajuta
type vector=array[0..20]of byte; const sum:vector=(0,1,5,2,8,3,9,2,8,7,7,8,4,7,3,8,4,1,5,4,4); var t,i,e:integer; fi,fo:text; n,rasp:int64; begin assign(fi,'cifra.in'); reset(fi); assign(fo,'cifra.out'); rewrite(fo); readln(fi,t); for i:=1 to t do begin readln(fi,n); rasp:=(n div 20)*sum[20]+sum[n mod 20]; rasp:=rasp mod 10; writeln(fo,rasp); end; close(fi); close(fo); end.
|
|
|
|