close

本題題目:文文記性不太好,常常會忘東忘西。他也常忘記提款卡密碼,每次忘記密碼都得帶著身份證、存摺、印章親自到銀行去重設密碼,還得繳交 50 元的手續費,很是麻煩。後來他決定把密碼寫在提款卡上免得忘記,但是這樣一來,萬一提款卡掉了,存款就會被盜領。因此他決定以一個只有他看得懂的方式把密碼寫下來。

他的密碼有 6 位數,所以他寫下了 7 個大寫字母,相鄰的每兩個字母間的「距離」就依序代表密碼中的一位數。所謂「距離」指的是從較「小」的字母要數幾個字母才能數到較「大」字母。字母的大小則是依其順序而定,越後面的字母越「大」。

假設文文所寫的 7 個字母是 POKEMON,那麼密碼的第一位數就是字母 P 和 O 的「距離」,由於 P 就是 O 的下一個字母,因此,從 O 開始只要往下數一個字母就是 P 了,所以密碼的第一位數就是 1。密碼的第二位數則是字母 O 和 K 的「距離」,從 K 開始,往下數 4 個字母 (L, M, N, O) 就到了 O,所以第二位數是 4,以此類推。因此,POKEMON 所代表的密碼便是 146821。

噓!你千萬別把這個密秘告訴別人哦,要不然文文的存款就不保了。

本體重點:

1.要先理解他的規則,其實它是利用ascell碼的順續,去看出他們的序列差。

2.但要記得題目沒說哪以瑪在前哪一碼在後,所以要做比較。

解題步驟:

1.載入字串,開始分析

2.我是把小的放a大的放b,所以要先對兩個字串做比較。

3.一直把a+1直到等於b,並+1count最後count值就會是他們倆個得差,並印出來。

4.依此類推,去印出所有的項之間的差

//以下程式碼為慢的方法,可以把那行while()改掉,但怎麼改掉就看你喽。

以下為程式碼

https://docs.google.com/document/d/1iZ1XGFTSSAX3j3-wMJnjDDiypdy7U0VLUB4k-sOlQFw/edit?usp=sharing

 

arrow
arrow
    文章標籤
    ZEROjudge 研究史
    全站熱搜

    CoChinoCo 發表在 痞客邦 留言(0) 人氣()