數學 B050 笨階乘(狀態機)

2021-10-04 05:06:08 字數 1495 閱讀 7909

相反,我們設計了乙個笨階乘 clumsy:在整數的遞減序列中,我們以乙個固定順序的操作符序列來依次替換原有的乘法操作符:乘法(*),除法(/),加法(+)和減法(-)。

例如,clu

msy(

10)=10

∗9/8

+7−6

∗5/4

+3−2

∗1

clumsy(10) = 10 * 9 / 8 + 7 - 6 * 5 / 4 + 3 - 2 * 1

clumsy

(10)

=10∗

9/8+

7−6∗

5/4+

3−2∗

1。然而,這些運算仍然使用通常的算術運算順序:我們在任何加、減步驟之前執行所有的乘法和除法步驟,並且按從左到右處理乘法和除法步驟。

另外,我們使用的除法是地板除法(floor division),所以 10 * 9 / 8 等於 11。這保證結果是乙個整數。

實現上面定義的笨函式:給定乙個整數 n,它返回 n 的笨階乘。

* 粗心錯誤:忽略了算術運算子的優先順序,例如這一段

10*9

/8+7

-6*5

要先算 6 * 5,所以分界點(結算某一輪運算的點)在哪?就在減法那裡。* 這裡給出錯誤的答案:

final

static

int mul =0;

final

static

int div =1;

final

static

int add =2;

final

static

int sub =3;

public

intclumsy

(int n)

if(state == div)

if(state == add)

if(state == sub)

}return res;

}

* 更正後的**:

final

static

int mul =0;

final

static

int div =1;

final

static

int add =2;

final

static

int sub =3;

public

intclumsy

(int n)

else

if(state == div)

else

if(state == add)

else

state =

(state +1)

%4;}

if(cur !=0)

res += cur;

return res;

}

week9 B笨東東學打牌(狗頭)

問題描述 題面最近,東東沉迷於打牌。所以他找到 hrz zjm 等人和他一起打牌。由於人數眾多,東東稍微修改了億下遊戲規則 所有撲克牌只按數字來算大小,忽略花色。每張撲克牌的大小由乙個值表示。a,2,3,4,5,6,7,8,9,10,j,q,k 分別指代 1,2,3,4,5,6,7,8,9,10,1...

簡單數學 NOIP 20008 笨小猴

笨小猴的詞彙量很小,所以每次做英語選擇題的時候都很頭疼。但是他找到了一種方法,經試驗證明,用這種方法去選擇選項的時候選對的機率非常大!這種方法的具體描述如下 假設maxn是單詞 現次數最多的字母的出現次數,minn是單詞 現次數最少的字母的出現次數,如果maxn minn是乙個質數,那麼笨小猴就認為...

高等數學B 樣卷

高等數學b 樣卷 一 選擇題 滿分20分 本大題共有5個小題,每小題4分,在每小題給出的四個選項中,只有一項符合題目要求,把所選項前的字母填在題後的括號內.1.設 函式f x e ax e ax2 其中a 為常數 則f x 在 內為 a.奇函式 b.偶函 數c.非 奇非偶函 數d.奇 偶性與a 有關...