其实归根到底还是3853那样的分两种情况看后继点,只是递推公式和化简公式较为繁琐

我是参考别人的化简:http://blog.csdn.net/auto_ac/article/details/9919851

化出来的公式倒是很简单==

 1 #include<stdio.h>
 2 #include<string.h>
 3 #include<algorithm>
 4 using namespace std;
 5 int main()
 6 {
 7   int n,m,T,i,type,ans;
 8   double s,d;
 9   while (~scanf("%d",&T))
10   {
11     while (T--)
12     {
13       scanf("%d%d%d",&type,&m,&n);
14       if (type==0){
15         ans=1;
16         for (i=1;i<=n;i++) ans*=m;
17            printf("%lf\n",1.0*(ans-1)/(m-1));
18       }
19       else{
20         s=d=1.0;
21         for (i=1;i<n;i++)
22         {
23           d=1.0*m/(m-i)*d;
24           s+=d;
25         }
26         printf("%lf\n",s);
27       }
28     }
29   }
30   return 0;
31 }
View Code

相关文章:

  • 2021-10-24
  • 2022-12-23
  • 2021-10-26
  • 2021-07-02
  • 2021-12-28
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-10-20
  • 2022-01-30
  • 2021-05-28
  • 2021-04-04
  • 2021-08-13
相关资源
相似解决方案