蓝桥杯 蛇形填数

在这里插入图片描述
在这里插入图片描述
一开始东拼西凑也做出来了,后来发现最直接的规律就是数列 a i a_i ai(第i行第i列的值)与 a i a_i ai的差成等差数列。
所以 a n = 2 n ( n − 1 ) + 1 a_n=2n(n-1)+1 an=2n(n1)+1,过程如下

错位相加法
a2-a1=4
a3-a2=8
a4-a3=12
·······
an-an-1=4(n-1)
相加得an=a1+(4+8+…+4(n-1))

答案:761

#include<iostream>
using namespace std;
int main(){
    
    
    int n;
    cin>>n;
    cout<<2*n*(n-1)+1;
    return 0;
}
#include<iostream>
using namespace std;
int sum(int n){
    
    //计算1+2+...+n
    if(n==1)
        return 1;
    return sum(n-1)+n;
}
int main(){
    
    
    int n;
    // cout<<sum(6);
    cin>>n;
    cout<<sum(2*n-2)+1+(n-1);
    return 0;
}

猜你喜欢

转载自blog.csdn.net/Supreme7/article/details/114629849