1 条题解

  • 0
    @ 2025-2-14 21:01:01

    C :

    #include <stdio.h>
    #include <stdlib.h>
    
    /* run this program using the console pauser or add your own getch, system("pause") or input loop */
    int f(int n){
    	if(n==1){
    		return 1; 
    	}
    	if(n==2){
    		return 2;
    	}
    	if(n==3){
    		return 4;
    	}
    	if(n>3){
    		return f(n-1)+f(n-2)+f(n-3);
    	}
    }
    int main(int argc, char *argv[]) {
    	int n;
    	scanf("%d",&n);
    		printf("%d\n",f(n));
    	
    	return 0;
    }
    

    C++ :

    #include<iostream>
    #include<cstdio>
    #include<cstdlib>
    #include<cstring>
    using namespace std;
    int main ()
    {
     int i,m,n,j;
     long int a[1100];
     cin>>n;
     memset(a,0,sizeof(a));
     a[1]=1;a[2]=2;a[3]=4;
     for (i=4;i<=n;++i)
      a[i]=a[i-3]+a[i-2]+a[i-1];
     cout<<a[n];
     return 0;
    }
    

    Pascal :

    var f:array[1..1000] of longint;
        n,i:longint;
    begin
      readln(n);
      f[1]:=1; f[2]:=2; f[3]:=4;
      for i:=4 to n do
      f[i]:=f[i-1]+f[i-2]+f[i-3];
      write(f[n]);
    end.
    
    • 1

    信息

    ID
    606
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者