iT邦幫忙

2021 iThome 鐵人賽

DAY 21
0
自我挑戰組

用 C & C++ 帶你手把手解 UVa 一顆星選集系列 第 21

Day 0x15 UVa10056 What is the Probability ?

題意

  • 輸入玩家數與成功機率,輸出 I-th 玩家成功機率
  • 需要注意的有:
    1. 第一行輸入 S 代表測資數
    2. 每筆測資包含
      • 玩家數 N
      • 成功機率 p
      • 第幾個玩家 I

解法

  • 繼上次的物理後,這次是真.數學題

    所以一起來膜拜專業解釋吧
    [Uva10056] What is the Probability?
    但裡面提到回合數的問題
    我寫到 100000 才會過 QQ

  • 就不解釋 Code 了,非常簡單,注意各變數型態即可
  • C code
    #include<stdio.h>
    #include<math.h>
    
    int main(){
    
        int S;
        int N, i;
        double p, q;
        double a, r;
    
        scanf("%d", &S);
    
        while(S--){
    
            scanf("%d %lf %d", &N, &p, &i);
    
            q = 1 - p;
            a = pow(q, i - 1) * p;
            r = pow(q, N);
            if(p == 0){
                printf("0.0000\n");
            }
            else{
                printf("%.4lf\n", (a * (1 - pow(r, 100000)) / (1 - r)));
            }
    
        }
    
        return 0;
    }
    

上一篇
Day 0x14 UVa10035 Primary Arithmetic
下一篇
Day 0x16 UVa10235 Simply Emirp
系列文
用 C & C++ 帶你手把手解 UVa 一顆星選集30

尚未有邦友留言

立即登入留言