GitHub

分数数列(找规律)1426

题目描述:

已知一个分数数列的如下: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 }

 

posted @ 2019-06-21 10:38  繁华似锦觅安宁  阅读(954)  评论(0编辑  收藏  举报