zoukankan      html  css  js  c++  java
  • HDU 1012 题解

    HDU 1012

    【读题】
    题目


    Main Idea:

        按照题目要求打出n在0-9时e的情况。
    

    Problem Solving Idea:

        模拟。
    

    Summary:

        1.%g可以去掉浮点数double的后缀0。
        2.题目前两个小数点没有后那么多位的情况,可直接按照Sameple output打印。
        3.这个题目我最开始是以为打印出的e要去掉后缀0,结果WA了。这时候就要看枚举题意的能力了(误),也可能是只有前两种情况去掉后缀0。
    

    WA代码:

    #include<bits/stdc++.h>
    using namespace std;
    double sum(double i){
        double su=0,fa=1.0;
        for(double k=1;k<=i;k+=1){
            fa*=k;
        }
        su=1.0/fa;
        return su;
    }
    int main()
    {
        double n,e=1,i;
        printf("n e
    ");
        printf("- -----------
    ");
        printf("0 1
    ");
        for(double k=1;k<=9;k+=1){
            e+=sum(k);
            printf("%.0f %.10g
    ",k,e);
        }
        return 0;
    }
    

    AC代码:

    #include<stdio.h>
    int main(){
    int n;
    printf("n e
    ");
    printf("- -----------
    ");
    printf("0 1
    ");
    printf("1 2
    ");
    printf("2 2.5
    ");
    for(n=3;n<=9;n++){
        double sum=2.5;
        int i;
        for(i=3;i<=n;i++){
                int j,t=1;
            for(j=1;j<=i;j++){
                t=t*j;
            }
            sum=sum+1.0/t;
        }
        printf("%d %.9lf
    ",n,sum);
    }
     
    return 0;
    }
    
  • 相关阅读:
    FILE
    基础知识const/typedef/函数指针/回调函数
    strchr
    ftell
    rewind
    fread
    poj 2309BST解题报告
    hdoj 4004The Frog's Games解题报告
    哈理工oj 1353LCM与数对解题报告
    poj 2453An Easy Problem解题报告
  • 原文地址:https://www.cnblogs.com/Fhr2001/p/11985686.html
Copyright © 2011-2022 走看看