输入两个正整数m与n,(n>=m>0),i=m,对i*i+1/i序列求和 结果保留六位小数
时间: 2023-09-09 22:05:36 浏览: 146
### 回答1:
答:我可以回答这个问题。根据题意,我们可以使用循环来计算i*i 1/i序列的和,代码如下:
```
#include <stdio.h>
int main()
{
int m, n, i;
double sum = .;
scanf("%d%d", &m, &n);
for (i = m; i <= n; i++)
{
sum += i * i * 1. / i;
}
printf("%.6f", sum);
return ;
}
```
输入m和n,然后使用for循环计算i*i 1/i序列的和,最后输出结果,保留六位小数。
### 回答2:
求和的步骤如下:
1. 初始化和sum为0。
2. 对于每个i从m到n(包括m和n),做以下操作:
a. 计算i的平方,并将结果除以i,得到一个数。
b. 将该数加到sum中。
3. 输出sum,并保留六位小数。
具体的代码如下:
```python
m = int(input("请输入正整数m:"))
n = int(input("请输入正整数n(大于等于m):"))
sum = 0
for i in range(m, n+1):
num = i*i / i # 计算 i*i / i
sum += num # 将结果加到sum中
print("结果为:%.6f" % sum)
```
这段代码首先获取用户输入的正整数m和n,然后遍历从m到n的每个整数i。在每次循环中,我们计算i的平方,并将结果除以i,得到一个数。然后将该数加到sum中。最后输出sum,保留六位小数。
### 回答3:
首先,根据题意,我们输入了两个正整数m与n,其中n大于等于m且m大于0。
然后,我们初始化i为m,接下来进行循环计算。在每次循环中,我们先计算i的平方,即i*i,然后计算1/i的值。注意到在这里我们要保证i为浮点数,这样才能进行除法运算。接下来,我们将i的平方与1/i相加,并将结果累加到之前的总和中。
循环结束后,我们得到了i*i和1/i序列的和。最后,我们将该和结果保留到小数点后六位。
具体的算法如下:
1. 输入两个正整数m与n,确保n大于等于m且m大于0;
2. 初始化i为m;
3. 初始化总和sum为0;
4. 进行循环操作,直到i大于n为止:
- 计算i的平方,记为square;
- 计算1/i的值,记为reciprocal;
- 将square与reciprocal相加,并累加到sum中;
- 将i自增1;
5. 输出sum的值,保留小数点后六位。
例如,当输入m为2,n为5时,根据算法进行计算可得:
i=2,2*2=4,1/2=0.5,sum=4+0.5=4.5;
i=3,3*3=9,1/3=0.333333,sum=4.5+0.333333=4.833333;
i=4,4*4=16,1/4=0.25,sum=4.833333+0.25=5.083333;
i=5,5*5=25,1/5=0.2,sum=5.083333+0.2=5.283333。
所以, 对于输入的例子,i*i和1/i序列的和为5.283333。