zoukankan      html  css  js  c++  java
  • poj--1517

    n从0取到9,一个for循环,n++,n=0,n<=9

    n=4,求1/4!+1/3!+1/2!+1/1!+1/0!

    需要一个for循环,i=n,i>=0,i--

    sum+=factorial(i)

    即是第一个for循环定下一个n,第二个for循环用这个值递减到0

    WA几次:

    技巧:%g可以用来省略多余的0,如1.000000,我定义了浮点,可我就%g下,输出1

    发现:1.%.10g小数点后只有9位,有的第九位是0,小数点后就只有8位

       2.发现c语言的特性:对的1:

    int main()
    {
        double a;
        int temp=9;
        a=1.0/temp;
        printf("%lf",a);
    }
    

      对的2:

    int main()
    {
        double a;
        int temp=9;
        a=(double)1/temp;
        printf("%lf",a);
    }
    

      错的:

    int main()
    {
        double a;
        int temp=9;
        a=(double)(1/temp);
        printf("%lf",a);
    }
    

      代码如下:改天看大数阶乘

    #include <stdio.h>
    #include <stdlib.h>
    int factorial(int index)
    {
        int i,temp=1;
        if(index==0)
            return 1;
        else{
            for(i=index;i>0;i--)
            {
                temp=temp*i;
            }
            return temp;
        }
    }
    
    int main()
    {
        int n,i;
        printf("n e
    ");
        printf("- -----------
    ");
        for(n=0;n<10;n++)
        {
            double sum=0;
            for(i=n;i>=0;i--)
            {
                sum+=(double)1/factorial(i);
            }
            printf("%d %.10g
    ",n,sum);
        }
        return 0;
    }
    

      

  • 相关阅读:
    【转载】褪去华衣 裸视学习 探讨系列
    最简单的视频网站(JavaEE+FFmpeg)
    过段时间要换博客了
    计网3
    计网1
    物理层计算题
    计网4
    子网划分与CIDR
    百度=残留在墙后的垃圾
    计网2
  • 原文地址:https://www.cnblogs.com/gabygoole/p/4482068.html
Copyright © 2011-2022 走看看