利用C语言求和s=1+1/22+1/333+...+1/nn...nn+.....
时间: 2023-07-16 08:17:35 浏览: 130
以下是利用C语言求和s=1+1/22+1/333+...+1/nn...nn+.....的代码:
```c
#include <stdio.h>
#include <math.h>
int main() {
int n;
printf("请输入n:");
scanf("%d", &n);
double s = 1.0; // 初始化s为1
for (int i = 2; i <= n; i++) {
int nn = i; // nn表示n...n,初始值为i
int count = 1; // 统计n的位数
while (nn >= 10) {
nn /= 10;
count++;
}
nn = i; // 重新赋值nn为i
double val = 0.0; // 计算1/nn...nn的值
for (int j = 1; j <= count; j++) {
val += nn / pow(10, (count-j+1));
}
s += 1.0 / val; // 累加到s中
}
printf("s = %lf\n", s);
return 0;
}
```
该程序首先读入一个正整数n,然后使用for循环遍历2到n的每个整数。对于每个整数i,我们需要计算1/nn...nn的值,其中nn表示n...n(共有i位)。为了计算nn,我们需要先统计n的位数,然后根据位数分解出每一位上的值。最后,利用pow函数计算1/nn...nn的值,并将其累加到s中。最终输出s的值即可。
阅读全文