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