2.求1!+2!+3!+4!+…+20!。C语言二重循环
时间: 2023-11-17 10:04:23 浏览: 49
以下是C语言中使用双重循环实现1!+2!+3!+4!+…+20!的代码:
```c
#include <stdio.h>
int main() {
int i, j;
double sum = 0, a = 1;
for (i = 1; i <= 20; i++) {
a = 1;
for (j = 1; j <= i; j++) {
a *= j;
}
sum += a;
}
printf("1!+2!+3!+...+20! = %lf", sum);
return 0;
}
```
该程序使用了两个循环,外层循环控制计算的阶乘数,内层循环计算阶乘。最后将每个阶乘的结果累加到sum中,最终输出sum的值。
相关问题
用c语言 二重for循环嵌套实现:输出2~100之间所有的完全数
完全数是指一个数等于它的因子之和,例如6=1+2+3。以下是使用二重for循环嵌套实现输出2~100之间所有的完全数的C语言代码:
```c
#include <stdio.h>
int main() {
int i, j, sum;
// 外层循环枚举2~100之间的数
for (i = 2; i <= 100; i++) {
sum = 0;
// 内层循环枚举i的因子
for (j = 1; j < i; j++) {
if (i % j == 0) {
sum += j;
}
}
// 如果i等于它的因子之和,就输出i
if (sum == i) {
printf("%d ", i);
}
}
printf("\n");
return 0;
}
```
代码的思路是,外层循环枚举2~100之间的数,内层循环枚举当前数的因子,并计算它们的和。如果当前数等于它的因子之和,就输出它。注意,内层循环只需要枚举到i的前一个数,因为1肯定是所有数的因子,而i本身不算因子。
用c语言编写这个程序,输入2个正整数n和m,求n + nn + nnn + nn…n(m个n)之和,注意要使用二重循环。举个例子例如,输入3和4,输出3702(3 + 33 + 333+3333
的和再加上 33 333 3333 33333 的和再加上 333 3333 33333 333333 的和,共 4 个数)。
好的,这个问题可以回答。以下是用C语言编写的程序:
```c
#include<stdio.h>
#include<math.h>
int main() {
int n, m;
int i, j;
int sum = 0, term = 0;
scanf("%d%d", &n, &m);
for (i = 1; i <= m; i++) {
for (j = 1; j <= i; j++) {
term += n * pow(10, j-1);
}
sum += term;
term = 0;
}
printf("%d\n", sum);
return 0;
}
```
输入 3 和 4,程序输出 3702,符合要求。希望能对您有帮助。现在,您有什么其它问题吗?