YTU 2457: 很简单的一道题

2457: 很简单的一道题

时间限制: 1 Sec  内存限制: 128 MB
提交: 261  解决: 80
[提交][状态][讨论版]

题目描述

有一个简单的函数数学公式,如下

输入

重复输入多组数据

 输入n(1<=n<=10),输入-1程序终止。

输出

 输出f(n)的结果(保留30位小数)

样例输入

1
3
6
10
-1

样例输出

1.000000000000000000000000000000
0.166666666666666666666666666666
0.047619047619047619047619047619
0.018181818181818181818181818181

提示

迷失在幽谷中的鸟儿,独自飞翔在这偌大的天地间,却不知自己该飞往何方……

#include<stdio.h>
void jisuan(int a,int b)
{
    int q[30],i,t=a%b;
    for(i=0; i<30; i++)
    {
        a=t*10;
        q[i]=a/b;
        t=a%b;
    }
    printf(b==1?"1.":"0.");
    for(i=0; i<30; i++)printf(i!=29?"%d":"%d
",q[i]);
}
int main()
{
    int s,i,k,n;
    while(~scanf("%d",&n)&&n!=-1)
    {
        s=0,k=1;
        for(i=1; i<=n; s+=i,k*=i,i++);
        jisuan(1,n&1?k:s);
    }
    return 0;
}

原文地址:https://www.cnblogs.com/im0qianqian/p/5989434.html