计算函数的值
描述
编写一个递归函数(或非递归函数),计算如下定义的函数f:(1)当x为负数时,f(x, y) = x + y;(2)当x为非负数时,f(x, y) = f(x-1, x+y) + x/y 。其中,x(x不大于1000),y都是实数,f的值也是实数。
输入
输入数据有多组,每组占一行,由两个实数(即x,y)组成。
输出
对于每组输入数据,输出一行,结果保留两位小数。
输入样例 1
3 0 3.14 1 1 -1 5.7857
输出样例 1
2.14 2.00 4.79
#include <iostream>
#include <cstdio>
using namespace std;
double f(double x, double y) {
if (x < 0) {
return x + y;
} else {
return f(x - 1, x + y) + x / y;
}
}
int main() {
int t;
cin >> t; // 读取有多少组数据
while (t--) {
double x, y;
cin >> x >> y;
printf("%.2f\n", f(x, y)); // 保留两位小数输出
}
return 0;
}
如有侵权,联系删除
1万+

被折叠的 条评论
为什么被折叠?



