• 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;
    }
    

      

  • 相关阅读:
    死磕java(3)
    死磕java(2)
    死磕java(1)
    开源 android
    android开发:点击缩略图查看大图
    android java获取当前时间的总结
    Android多屏幕适配
    Android-关于屏幕适配的一些经验
    Android TextView自动换行文字排版参差不齐的原因
    proguard.cfg 配置文件
  • 原文地址:https://www.cnblogs.com/gabygoole/p/4482068.html
Copyright © 2020-2023  润新知