POJ 1969

#include <iostream>
#include <cmath>

using namespace std;

int main()
{
    //freopen("acm.acm","r",stdin);
    double num;
    double tem;
    double n;
    int i;
    int ans_1;
    int ans_2;
    
    while(cin>>num)
    {
        cout<<"TERM "<<(int)num<<" IS ";
        ans_2 = 0;
        tem = num;
        tem *= 2;
        tem += 1;
        n = sqrt(tem);
        n = ceil(n);
        -- n;
        tem = n;
        n = n*(n+1)/2;
        if(n == num)
        {
            if((int)tem%2 == 0)
            {
                cout<<tem<<"/"<<1<<endl;
            }
            else
            {
                cout<<1<<"/"<<tem<<endl;
            }
            continue;
        }
        if(n > num)
        {
            n -= tem;
            -- tem;
        }
        
        ans_1 = tem+1;
        ans_2 = 1;
        ++ tem;
        if(int(tem) % 2 == 0)
        {
            for(i = 0; i < tem-num+n; ++ i)
            {
                ++ ans_2;
                -- ans_1;
            }
        }
        else
        {
            for(i = 0; i < num-n-1; ++ i)
            {
                ++ ans_2;
                -- ans_1;
            }
        }
        cout<<ans_1<<"/"<<ans_2<<endl;
    }
}

关注我的公众号,当然,如果你对Java, Scala, Python等技术经验,以及编程日记,感兴趣的话。 

POJ 1969

技术网站地址: vmfor.com