|
|
此文章由 best_binbin 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 best_binbin 所有!转贴必须注明作者、出处和本声明,并保持内容完整
UNSW 两年前。。
int sum(int a, int b, int t) {
assert (a>=0);
assert (b>=0);
assert (t>=0);
int sum = 0;
int n = 0;
for(n = 0; ; n++) {
int fn = calculateFn (a, b, n);
if(fn >= t) break;
if(isEven(fn))
sum += calculateFn (a, b, n);
}
return sum;
}
int calculateFn(int a, int b, int n) {
if(n == 0) return a;
else if (n == 1) return b;
else {
return calculateFn(a, b, n - 2) + calculateFn(a, b, n - 1);
}
}
int isEven(int number) {
return number % 2 == 0;
}
|
|