题目描述:
已知一个分数数列的如下:1/2,3/5,4/7,6/10,8/13,9/15,.....。输入该数列的第n项,输出对应项的值(用分数表示)
其中0<n<=3000
输入描述:
多组输入,每组输入一个正整数n,表示该数列的第n项
输出描述:
对应于每组输入,输出该项对应的分数表示的值。
样例输入:
2011
样例输出:
3253/5264
思想:找规律:分母等于分子加上所在的位置下标
1 #include<iostream> 2 using namespace std; 3 int main(){ 4 int n,i,j,num=10000; 5 int m[num]; 6 while(cin>>n){ 7 for(i=0;i<num;i++){ 8 m[i]=0; 9 } 10 m[1]=1; 11 m[2]=2; 12 m[3]=3; 13 m[5]=5; 14 if(n==1){ 15 cout<<m[1]<<'/'<<m[2]<<endl; 16 continue; 17 } 18 if(n==2){ 19 cout<<m[3]<<'/'<<m[5]<<endl; 20 continue; 21 } 22 for(i=3;i<=n;i++){ 23 for(j=1;;j++){ 24 if(m[j]==0){ 25 break; 26 } 27 } 28 m[j]=j; 29 m[j+i]=j+i; 30 } 31 cout<<j<<'/'<<j+n<<endl; 32 } 33 return 0; 34 }