1. 程式人生 > ># 程式設計俱樂部每日一練(2018年11月27日)我讀書少,你們得幫幫我 加特林大戰殭屍

# 程式設計俱樂部每日一練(2018年11月27日)我讀書少,你們得幫幫我 加特林大戰殭屍

程式設計俱樂部每日一練(2018年11月27日)我讀書少,你們得幫幫我 加特林大戰殭屍

我讀書少,你們得幫幫我

Description

這是一題簡單的題目,考的只是你的數學而已。我一直都很好奇愚公一家到底有多少人。好吧,毛學姐說你們會幫我的。假設愚公家族 每個人的一生是這樣度過的:(當他回首往事的時候。。。開個玩笑,請無視) 頭2020年用來生長髮育以及挖山,第2121年(可以理解為2121歲的時候)開始 每年生下一個孩子( 自交,任性, 沒妻子,全生男,且不考慮死亡),當然還要去挖山。我們預設愚公11歲的時候為第一年(第2121年愚公生下第一胎),求第NN年愚公家族(愚公家族不需要妻子,別考慮太多)有多少人。

Input

有多組測試資料,每組佔一行,包括一個數N(0<N<=60)N(0<N<=60),N為第N年。

Output

對於每組測試,輸出整數MM,MM為愚公家族的人數。

Sample Input 1

1
21
41
Sample Output 1

1
2
23

N最多取到60,說明只有三代人出現,愚公的最大的孫子在N=60時,剛好20歲是不會生孩子的。
按時間分情況來寫,前二十年都是一個人;中間二十年,每年增加一個人;後二十年,每年增加2,3,4,……,20,21個人。
程式碼:

#include <stdio.h>

int main()
{
    int N;
    scanf("%d",&N);
    if(N<21){
        printf("1\n");
    }
    else if(N<41){
        printf("%d\n",N-20+1);
    }
    else{
        int a,b,c;
        a=N-40;
        b=2;
        c=21;
        while(a--){
            c=c+b;
            b++;
        }
        printf("%d\n",c);
    }
    return 0;
}

加特林大戰殭屍

Description

現在又到了毛學姐玩生化危機的時間,問題很簡單。現在有一把自動加特林機槍,它每秒發射一顆子彈,子彈的飛行速度是V_0V
0
​ 。在它的面前有L米的空地,你可以假設機槍是一個點。現在有個一隻殭屍來襲,他以速度V_1V
1
​ 勻速向加特林機槍走去。殭屍被加特林子彈擊中n次才會gg,殭屍在走到加特林機槍的位置後,會用酸液對其進行攻擊,只需2s就能摧毀加特林。問:強大的加特林機槍能不能守住這塊空地呢?

Input

輸入包含多組資料,每組包含四個數LL,V_0V
0
​ ,V_1V
1
​ ,nn。保證所有資料在int類型範圍內。

Output

如果加特林能幹掉殭屍,請輸出"YES",否則輸出"NO"。

Sample Input 1

657 62 46 46
771 89 7 2
Sample Output 1

NO
YES
Hint

為了簡化情況,不會出現殭屍和加特林同歸於盡(同時死亡)的情況。

物理問題,通過比較殭屍死亡時間和加特林死亡時間的長短來判斷加特林能否幹掉殭屍。
程式碼:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int L,V0,V1,n;
    while(scanf("%d%d%d%d",&L,&V0,&V1,&n)!=EOF){
        int t1,t2;
        t1=L/V1+2;
        t2=(L-V1*n)/V0+n;
        if (t1>t2){
            printf("YES\n");
        }
        if (t1<t2){
            printf("NO\n");
        }
    }
    return 0;
}