1 solutions

  • 0
    @ 2025-11-5 20:06:50

    C++ :

    #include<iostream>
    using namespace std;
    int main()
    {
    	long h,fz,fm,n,sum=0;
    	cin>>n;
    	h=0;
    	sum=0;
    	while(sum<n)
    	{
    		h++;
    		sum+=h;		
    	}
    	sum-=h;
    	int m;//表示第m项
    	m=n-sum;
    	if(h&1)
    	{
    		fm=m;
    		fz=h+1-m;
    	} 
    	else
    	{
    		fz=m;
    		fm=h+1-m;
    	}
    	cout<<fz<<'/'<<fm<<endl;
    	return 0;
    }
    

    Pascal :

    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.
    
    
    • 1

    Information

    ID
    20020
    Time
    1000ms
    Memory
    128MiB
    Difficulty
    (None)
    Tags
    # Submissions
    0
    Accepted
    0
    Uploaded By