7 条题解

  • 2
    @ 2024-6-2 9:55:18
    #include<bits/stdc++.h>
    using namespace std;
    int a[20];
    int main(){
    	int n;
    	cin>>n;
    	a[1]=0,a[2]=1,a[3]=1;
    	for(int i=4;i<=n;i++){
    		a[i]=a[i-3]+2*a[i-2]+a[i-1];
    	}
    	cout<<a[n];
    	return 0;
    }
    
    • 2
      @ 2024-5-30 10:29:02
      #include<bits/stdc++.h>
      using namespace std;
      int a[20];
      int main(){
      	int n;
      	cin>>n;
      	a[1]=0,a[2]=1,a[3]=1;
      	for(int i=4;i<=n;i++){
      		a[i]=a[i-3]+2*a[i-2]+a[i-1];
      	}
      	cout<<a[n];
      	return 0;
      } 
      
      • 1
        @ 2025-2-11 14:33:40

        题目分析

        题目中已给出递推式 AN=AN3​​+2×AN2+AN1A_N​=A_{N-3}​​+2×A_{N−2​}+A_{N−1}​,递推求出 ANA_N​ 即可。

        代码实现

        #include<cstdio>
        int n,a[22]={0,0,1,1};
        int main(){
            scanf("%d",&n);
            for(int i=4;i<=n;i++)a[i]=a[i-3]+a[i-2]*2+a[i-1];
        	printf("%d",a[n]);
            return 0;
        }
        

        记得给五星好评哦喵~ 谢谢客官啦~

        • -3
          @ 2024-6-2 9:55:40
          #include<bits/stdc++.h>
          using namespace std;
          int a[20];
          int main(){
          	int n;
          	cin>>n;
          	a[1]=0,a[2]=1,a[3]=1;
          	for(int i=4;i<=n;i++){
          		a[i]=a[i-3]+2*a[i-2]+a[i-1];
          	}
          	cout<<a[n];
          	return 0;
          } 
          
          • -3
            @ 2024-5-24 14:37:51

            #include<bits/stdc++.h> using namespace std; long long int q[100000001]; int main() { int a,z,s,x,d; q[1]=0; q[2]=1; q[3]=1; cin>>a; for(z=3;z<=a;z++){ q[z]=q[z-3]+(q[z-2]*2)+q[z-1]; } cout<<q[a]; return 0; } //(AN-3)+(2×AN-2)+(AN-1)

            • -3
              @ 2024-5-24 14:37:22

              #include<bits/stdc++.h> using namespace std; long long int q[100000001]; int main() { int a,z,s,x,d; q[1]=0; q[2]=1; q[3]=1; cin>>a; for(z=3;z<=a;z++){ q[z]=q[z-3]+(q[z-2]*2)+q[z-1]; } cout<<q[a]; return 0; } //(AN-3)+(2×AN-2)+(AN-1)

              • -4
                @ 2024-5-24 14:37:33

                #include<bits/stdc++.h> using namespace std; long long int q[100000001]; int main() { int a,z,s,x,d; q[1]=0; q[2]=1; q[3]=1; cin>>a; for(z=3;z<=a;z++){ q[z]=q[z-3]+(q[z-2]*2)+q[z-1]; } cout<<q[a]; return 0; } //(AN-3)+(2×AN-2)+(AN-1)

                • 1

                信息

                ID
                2075
                时间
                1000ms
                内存
                256MiB
                难度
                3
                标签
                递交数
                109
                已通过
                60
                上传者