1. 程式人生 > >nyoj 有趣的數 85 (簡單數學規律)

nyoj 有趣的數 85 (簡單數學規律)

有趣的數

時間限制:3000 ms  |           記憶體限制:65535 KB 難度:2
描述

把分數按下面的辦法排成一個數表。

1/1 1/2 1/3 1/4.....

2/1 2/2 2/3....

3/1 3/2 ....

4/1.....
.........

我們以z字型方法給上表的每項編號。特定方法:第一項是1/1,然後是1/2、2/1、3/1、2/2、1/3、1/4、2/3……。程式設計輸入項號N(1<=N<=100000),輸出表中第N項。

輸入
第一行有一個整數m(0<m<=10),表示有m組測試資料;
隨後有m行,每行有一個整數N;
輸出
輸出表中第N項
樣例輸入
4
3
14
7
12345
樣例輸出
2/1
2/4
1/4
59/99
//無意中看到這個題,剛好是書上的一個例題,就水了一道。
#include<stdio.h>
int main()
{
	int t,n,i;
	scanf("%d",&t);
	while(t--)
	{
		scanf("%d",&n);
		int k=1;
		int s=0;
		while(1)
		{
			s+=k;
			if(s>=n)
			{
				if(k&1)
					printf("%d/%d\n",s-n+1,k-s+n);
				else
					printf("%d/%d\n",k-s+n,s-n+1);
				break;
			}
			k++;
		}
	}
	return 0;
}