这题应该说也是noip普及组的一道原题,题目有点烦,我还真没做过,分享一下标程:
var
n,i,a,b:longint;flag:boolean;
function w(i:longint):longint;
var
j:longint;
begin
w:=0;
for j:=1 to i do
w:=w+j;
end;
begin
read(n);
for i:=1 to 1000 do begin
if n<=w(i) then begin a:=i;n:=n-w(i-1);break;end;
end;
if a mod 2=0 then flag:=false else flag:=true;
b:=1;
if flag then begin
for i:=a downto 1 do begin
if b=n then begin writeln(i,'/',a-i+1);halt;end else inc(b);
end;end
else begin
for i:=1 to a do begin
if b=n then begin writeln(i,'/',a-i+1);halt;end else inc(b);
end;
end;
end.