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