C 如何用无穷级数循环常数e

C 如何用无穷级数循环常数e,c,for-loop,C,For Loop,的值应计算阶乘。您可以使用 long long factorial(int n){ long long fact=1; for(i=2;i<=;i++) fact*=1; return fact; } 长阶乘(int n){ 长事实=1; 对于(i=2;i这里,因为您是按顺序取每个阶乘,所以不需要每次都计算它;您只需使用上一个值并乘以当前数即可: #include <stdio.h> #include <stdlib.h&g

的值应计算阶乘。您可以使用

 long long factorial(int n){
    long long fact=1;
    for(i=2;i<=;i++)
     fact*=1;
     return fact;
    }
长阶乘(int n){
长事实=1;

对于(i=2;i这里,因为您是按顺序取每个阶乘,所以不需要每次都计算它;您只需使用上一个值并乘以当前数即可:

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
    double e = 1.0, f = 1.0; // f is your 'accumulated' factorial
    int i, n = atoi(argv[1]); // Best to use integers for loop counting
    for (i = 1; i < n; i++) {
        f *= i; // First time, this wil be 1 * 1 = 1; second time 2, third 6, etc
        e += 1.0/f; // Divide here by our 'running' value for i!
    }
    printf("%.10f\n", e);
    return 0;
}
#包括
#包括
int main(int argc,char*argv[])
{
双e=1.0,f=1.0;//f是您的“累积”阶乘
int i,n=atoi(argv[1]);//最好使用整数进行循环计数
对于(i=1;i
欢迎使用堆栈溢出。请阅读、采取、阅读以及。您似乎有两个问题。一个是将
运算符与功能混淆。另一个是基本上不了解循环中的累积运算。我担心您需要返回几步,学习如何将循环中的所有数字相加M 1…1000。处理这两个问题会太多,即答案太宽。请考虑如何先计算一个教师,但检查问题没有被问过,比较Ry.的注释,因为<代码>阶乘< /代码>函数很容易溢出,这是应该检查的。<代码>异常<代码>应该是B。如果
n
太大,则抛出e。-CW