简单数论: { Author:wzx961008 Problem:UVa 568-Just the Facts Verdict:Accepted Language:PASCAL Run Time:0.012s Submission Date:2011-01-14 14:20:24 } var n,i,s:longint; begin while not eof do begin readln(n); s:=1; for i:=1 to n do begin s:=s*i; while s mod 10=0 do s:=s div 10; s:=s mod 100000; end; while s mod 10=0 do s:=s div 10; if n mod 10=n then writeln(' ',n,' -> ',s mod 10) else if n mod 100=n then writeln(' ',n,' -> ',s mod 10) else if n mod 1000=n then writeln(' ',n,' -> ',s mod 10) else if n mod 10000=n then writeln(' ',n,' -> ',s mod 10) else writeln(n,' -> ',s mod 10); end; end.