如果每次都累加二倍高度就很简单啦,但初始高度只有一个,可以考虑将sum赋值为初始高度相反数再累加二倍高度
#include<stdio.h>
int main()
{
float h;
int n;
double sum;
scanf("%f%d", &h, &n);
if (n == 0) {
printf("0.0 0.0");
return 0;
}
else {
sum = -h;
for (int i = 1; i <= n; i++) {
sum = sum + 2 * h;
h = h / 2;
}
}
printf("%.1f %.1f", sum, h);
}