2 条题解

  • 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
      标签
      (无)
      递交数
      547
      已通过
      203
      上传者