1128. 母牛的故事

10185101178

include

int main()
{
int i,n;
int a[55];

while(scanf("%d",&n)&&n)
{
        for(i=0;i<4;i++)
    {
        a[i]=i;
    }

    for(i=4;i<=n;i++) a[i]=a[i-1]+a[i-3];

    printf("%d\n",a[n]);
}
return 0;

}

数组比递归快。

fallen_rain

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main {

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    while(sc.hasNext()) {
        int year = sc.nextInt();
        if(year == 0)
            return;
        System.out.println(func(year));
    }
}

public static int func(int year) {
    List<Integer> list = new ArrayList<>();
    int num = 0;
    for(int i = 1; i <= year; i++) {
        if(i >= 5) {
            num += list.get(i-4);
        } else {
            num++;
        }
        list.add(num);
    }
    return list.get(list.size()-1);
}

}

e_mmmmmm

int a[maxn];

void init(){
for(int i=0;i<5;i++)
a[i]=i;
for(int i=5;i<55;i++)
a[i]=a[i-1]+a[i-3];
}

int main(int argc, const char * argv[]) {
int n;
init();
while(scanf(“%d”,&n)&&n){
printf(“%d\n”,a[n]);
}
return 0;
}

你当前正在回复 博客/题目
存在问题!