分数 10
全屏浏览题目
切换布局
作者 usx程序设计类课程组
单位 绍兴文理学院
求下面数列的所有大于等于精度e的数据项之和,显示输出计算的结果(四舍五入保留6位小数)。
1/2,3/4,5/8,7/16,9/32……
输入格式:
测试数据有多组,处理到文件尾。每组测试输入一个实数e。
输出格式:
对于每组测试,输出数列中所有大于等于e的数据项之和。结果四舍五入保留6位小数。
输入样例:
0.000001
输出样例:
2.999998
#include <stdio.h>
#include<math.h>
int main() {
double n=0;
while(scanf("%lf",&n)!=EOF){
double sum=0;
double z=1.0,m=2.0;
for(int i=1;i<100000;i++){
double x=z/m;
z+=2;
m=pow(2,i+1);
if(n<x){
sum+=x;
continue;
}
}
printf("%.6lf\n",sum);
}
return 0;
}
题目意思:求 输入一个数 按照给出的规律 一直相加直到 那个分数的值小于 所给的值 的和