蓝桥杯备战刷题two(自用)
1.杨辉三角形
#include using namespace std; #define ll long long const int N=2e5+10; int a[N]; //1 0 0 0 0 0 0 //1 1 0 0 0 0 0 //1 2 1 0 0 0 0 //1 3 3 1 0 0 0 //1 4 6 4 1 0 0 //1 5 10 10 5 1 //前缀和思想 //第一列全为1,第二列为从0开始递增1的序列, //可以发现当前列为前面一列的前缀和序列 //N最大是1e9,第三列计算n*(n+1)/2>1e9得到n>44721 //又第三列前面有两个0,即最小需要44721+2=44723行 //当第三列的值已经大于1e9时,不需要再计算后面的数, //直接根据第二列规律,找第二列中n的位置即可。 //由于第二列是从0开始的,此时可以确定n是在第n+1行, //又因为是第二列,所以n的是数列中第n∗(n+1)/2+2个。 int main() { int n; cin>>n; a[0]=1; int k=1; if(n==1)cout
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。