分数数列(找规律)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 }

 

转载于:https://www.cnblogs.com/zq-dmhy/p/11063203.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值