3 条题解

  • 0
    @ 2025-10-4 15:06:42

    #include<stdio.h>

    int main(){

    int n;

    while(1)

    {

    scanf("%d",&n);

    if(n==0){break;}

    int a1=0,a2=0,a3=1,b1,b2,b3;

    for(int i=2;i<=n;i++){

    b1=a1;

    b2=a2;

    b3=a3;

    a1=b3;

    a2=b1;

    a3=a3+b2;

    }

    printf("%d\n",a1+a2+a3);

    }

    return 0;

    }

    • 0
      @ 2024-10-23 19:18:32

      #include<stdio.h> int numb(int n) { int arr[1000] = { 0 }; arr[1] = 1; arr[2] = 2; arr[3] = 3; arr[4] = 4; int i = 4; for (i = 4; i <= n; i++) { arr[i] = arr[i - 1] + arr[i - 3]; } int m = n; if (m <= 4) { return arr[m]; } else { return arr[i-1]; }

      }

      int main() { int n; while (scanf("%d", &n) &&n!=0) { printf("%d\n", numb(n)); } return 0; }

      • 0
        @ 2023-11-21 19:28:38
        #include<stdio.h>
        int a[1005];
        int main()
        {
        	while(1){
        		int t;
        		scanf("%d",&t);
        		if(!t){
        			break;
        		}
        		a[1]=1,a[2]=2,a[3]=3,a[4]=4;//提前将前四个乌龟数写出
        		for(int i=5;i<=t;i++){//从第5个开始当下每个乌龟数均为前一年的加上三年前的
        			a[i]=a[i-1]+a[i-3];//因为三年前的所有乌龟在今年都能够生出小乌龟
        		}
        		printf("%d\n",a[t]);
        	}
        	return 0;
        }
        //ps:a[1]为第一年的初始乌龟
        
        • 1

        信息

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