bjfuOJ 1085 Not Pascal Triangle

Not Pascal Triangle

时间限制(普通/Java):1000MS/3000MS          运行内存限制:65536KByte
总提交:155            测试通过:59

描述

如果有人问你,三角形

1

1  1

1  2  1

1  3  3  1

的下一行数是什么,你一定会毫不犹豫地说,下一行是1 4 6 4 1,因为这是杨辉三角(或者叫做Pascal三角),杨辉三角的每一个数等于它肩上两数的和(每行第一个和最后一个数是1)

但是这并不是唯一的解,1 4 5 4 1也是一种可能的答案。递推的关系是:每个数都等于两肩的数之积加1 ,除以头顶上的数。例如,第2个数4就等于(1*3+1)/1,第3个数 5 则等于(3*3+1)/2。因此我们可以继续写下去。

1

1  1

1  2  1

1  3  3  1

1  4  5  4  1

1  5  7  7  5  1

……

现在请你编程计算这种新的三角中,第i行,第j个数的值(最顶的1定义为第1)

输入

包含多组测试数据,每组测试数据两行,给出以一个制表符隔开的两个整数ij(1<=j<=i<231)。输入以EOF结束。

输出

对应每一组数据,用单独的一行输出第i行的第j个数。答案保证在32位整数的范围内。

样例输入

1 1
5 3

样例输出

1
5



分析:

—》 猛一看像递推,但是仔细看,递推出来的复杂度过高,无法满足

—》 思路转变: 找规律,推公式


Code:

#include<stdio.h>

 int main()
 {
     int i,j;
     while(scanf("%d %d",&i,&j)!=EOF)
     {
         printf("%d\n",(i-j)*(j-1)+1);
     }

     return 0;
 } 







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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值