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\n",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;
}