0
点赞
收藏
分享

微信扫一扫

试题 H: 杨辉三角形(日常暴力解法)

q松_松q 2022-04-06 阅读 4

虽然超时了!!!!超时了!!!!超时了!!!但给自己一个念想吧。

毕竟自己努力了那么长时间。。。。。

为什么蓝桥杯的数据那么烦人啊!!!!!!!太伤心了。

题目描述

下面的图形是著名的杨辉三角形:

如果我们按从上到下、从左到右的顺序把所有数排成一列,可以得到如下数列: 1, 1, 1, 1, 2, 1, 1, 3, 3, 1, 1, 4, 6, 4, 1, \cdots1,1,1,1,2,1,1,3,3,1,1,4,6,4,1,⋯

给定一个正整数 NN,请你输出数列中第一次出现 NN 是在第几个数?

输入描述

输入一个整数 NN。

输出描述

输出一个整数代表答案。

输入输出样例

示例 1

6

13

评测用例规模与约定

对于 20%20​​ 的评测用例,1\leq N\leq 101≤N≤10​; 对于所有评测用例,1\leq N\leq 10000000001≤N≤1000000000。

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 256M
#include <iostream>
using namespace std;
int main()
{
    long long n;
    cin>>n;
    long long a[44725]={0};
    a[0]=1;
    long long num=1;
    int i,j;
    for(i=1;i<44725;i++)
    {
        if(n==1)
        {
            cout<<1;
            return 0;
        }
        for(j=i;j>=1;j--)
        {
            a[j]+=a[j-1];
            if(a[j]==n)
            {
                cout<<num+i-j+1;
                return 0;
            }
        }
        num=num+i+1;
    }
    cout<<(((1+n)*n/2)+2);
}

旧数据的保留。

新数据的覆盖。‘就这样喵。’

举报

相关推荐

0 条评论