i also meet the same proble..my code is :

[pascal]
var
table:array[0..128] of integer;
in1,in2:string;
sum1,sum2:integer;
procedure init();
var
i,x:integer;
begin
for i:=0 to 128 do
table[i]:=0;
x:=64;
for i:=1 to 26 do
table[x+i]:=i;
x:=96;
for i:=1 to 26 do
table[x+i]:=i;
end;
function len(i:integer):integer;
var
len,tem:integer;
begin
len:=1;
tem:=i;
while(tem>9) do
begin
inc(len);
tem:=tem div 10;
end;
len:=len;
end;
function getsum(s:String):integer;
var
i,tem,l:integer;
begin
tem:=0;
i:=1;
l:=length(s);
for i:=1 to l do
tem:=tem+table[ord(s[i])];
getsum:=tem;
end;
function getresult(i:integer):integer;
var
tem,x,j:integer;
begin
tem:=i;
x:=0;
while(tem>9) do
begin
if(tem>9) then
begin
for j:=0 to len(tem) do
begin
x:=x+tem mod 10;
tem:=tem div 10;
end;
tem:=x;
x:=0;
end;
end;
getresult:=tem;
end;
begin
init();
WHILE(NOT EOF) DO
begin
readln(in1);
readln(in2);
sum1:=getsum(in1);
sum1:=getresult(sum1);
sum2:=getsum(in2);
sum2:=getresult(sum2);
if(sum1>sum2) then
writeln(sum2/sum1*100:0:2,' %')
else writeln(sum1/sum2*100:0:2,' %');
end;
end.
- Code: Select all
plseae help me...thank you very much!