查看: 1172|回復: 11
打印 上一主題 下一主題

[任務]JOG 解題的第36題

[複製鏈接]
  • TA的每日心情
    開心
    2015-7-8 22:33
  • 簽到天數: 26 天

    [LV.4]偶爾看看III

    27

    主題

    141

    帖子

    397

    積分

    好好學生

    Rank: 3Rank: 3

    積分
    397

    程式設計達人 - 2014新手達陣

    跳轉到指定樓層
    樓主
    發表於 2014-8-5 10:54:29 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

    趕快加入我們來參與討論吧!

    您需要 登錄 才可以下載或查看,沒有帳號?加入我們

    x
    任務的第36題
    寫出來是WA
    程式碼如下
    幫忙抓一下BUG
    Thank you!

    JOG 36 題

    網址: http://toj.tfcis.org/oj/chal/5458/

    程式碼

    #include<iostream>
    #include <cmath>
    using namespace std;
    int main()
    {
            int a,b,c,x;
            cin>>a>>b>>c;
            if( a>=0 && a<pow( 2,31 ) &&  b>=0 && b<pow( 2,63 ) && c>=1 && c<=9439 )
            {
                    x=pow( a,b );
                    cout<<x % c<<endl;
            }
            return 0;
    }


    點評

    JOG?? 這系統不是叫做TOJ嗎?  發表於 2014-8-5 11:25
    請用code標籤: http://forum.tfcis.org/forum.php?mod=viewthread&tid=327  發表於 2014-8-5 11:22
    零人桐
    回復

    使用道具 檢舉

  • TA的每日心情
    開心
    2015-4-12 10:09
  • 簽到天數: 137 天

    [LV.7]常住居民III

    142

    主題

    686

    帖子

    3559

    積分

    邁向天堂

    蘇多門

    Rank: 8Rank: 8

    積分
    3559

    新手達陣台南一中資訊社程式設計達人 - 2014

    頭香
    發表於 2014-8-5 11:31:49 | 只看該作者

    回帖獎勵 +10

    這題雖然屬於簡單問題集,但沒你想的那麼簡單喔! (其實簡單問題集的題目也都不是非常簡單)
    這題你必須要學會模運算快速冪,如果都會了就很簡單了

    你可以看看測資範圍,(2^31)的(2^63)次方int或long long怎麼可能存的下
    蘇多門 domen111
    My Web: https://sites.google.com/site/domenprg/
    回復 支持 反對

    使用道具 檢舉

  • TA的每日心情
    開心
    2015-7-8 22:33
  • 簽到天數: 26 天

    [LV.4]偶爾看看III

    27

    主題

    141

    帖子

    397

    積分

    好好學生

    Rank: 3Rank: 3

    積分
    397

    程式設計達人 - 2014新手達陣

    3#
     樓主| 發表於 2014-8-5 11:56:36 | 只看該作者
    ㄎㄎ我打錯了
    是TOJ
    零人桐
    回復 支持 反對

    使用道具 檢舉

  • TA的每日心情
    開心
    2015-7-8 22:33
  • 簽到天數: 26 天

    [LV.4]偶爾看看III

    27

    主題

    141

    帖子

    397

    積分

    好好學生

    Rank: 3Rank: 3

    積分
    397

    程式設計達人 - 2014新手達陣

    4#
     樓主| 發表於 2014-8-6 21:40:40 | 只看該作者
    [C++] 純文本查看 復制代碼
    #include<iostream>
    #include <cmath>
    using namespace std;
    int main()
    {
            int a,b,c,x;
            cin>>a>>b>>c;
            if( a>=0 && a<pow( 2,31 ) &&  b>=0 && b<pow( 2,63 ) && c>=1 && c<=9439 )
            {
                    x=pow( a,b );
                    cout<<x % c<<endl;
            }
            return 0;
    }
    零人桐
    回復 支持 反對

    使用道具 檢舉

  • TA的每日心情
    開心
    2015-7-8 22:33
  • 簽到天數: 26 天

    [LV.4]偶爾看看III

    27

    主題

    141

    帖子

    397

    積分

    好好學生

    Rank: 3Rank: 3

    積分
    397

    程式設計達人 - 2014新手達陣

    5#
     樓主| 發表於 2014-8-6 21:41:13 | 只看該作者
    那要怎麼存?
    零人桐
    回復 支持 反對

    使用道具 檢舉

  • TA的每日心情
    開心
    2015-7-8 22:33
  • 簽到天數: 26 天

    [LV.4]偶爾看看III

    27

    主題

    141

    帖子

    397

    積分

    好好學生

    Rank: 3Rank: 3

    積分
    397

    程式設計達人 - 2014新手達陣

    6#
     樓主| 發表於 2014-8-6 21:41:29 | 只看該作者
    (既然存不下)
    零人桐
    回復 支持 反對

    使用道具 檢舉

  • TA的每日心情
    開心
    2015-4-12 10:09
  • 簽到天數: 137 天

    [LV.7]常住居民III

    142

    主題

    686

    帖子

    3559

    積分

    邁向天堂

    蘇多門

    Rank: 8Rank: 8

    積分
    3559

    新手達陣台南一中資訊社程式設計達人 - 2014

    7#
    發表於 2014-8-6 21:46:50 | 只看該作者
    模運算就用用到一些mod(%)的原理,一邊算一邊mod就不用存那麼多資料了
    不過既然要一邊算一邊mod那就必須要自己寫一個pow,pow如果只用一個for迴圈下去算會執行很久,得到一個TLE(Time Limit Exceed),所以你必須要寫個function去遞迴計算。
    蘇多門 domen111
    My Web: https://sites.google.com/site/domenprg/
    回復 支持 反對

    使用道具 檢舉

  • TA的每日心情
    慵懶
    2015-4-10 14:18
  • 簽到天數: 78 天

    [LV.6]常住居民II

    176

    主題

    612

    帖子

    3959

    積分

    管理員

    Rank: 9Rank: 9Rank: 9

    積分
    3959

    台南一中資訊社新手達陣程式設計達人 - 2014

    8#
    發表於 2014-8-6 22:16:15 | 只看該作者
    先了解取MOD的性質 (WIKI)
    這裡的%是C++的取餘數
    加減法原則
    ( A ± B ) % C = A % C ± B % C

    乘法原則
    ( A * B ) % C =( A % C ) * ( B % C )

    (除法原則不會別亂用)
    AC % M = BC 且 ( M , C )=1,則 A % M = B

    冪次
    A[sup]B[/sup] % C = ( A % C )[sup]B[/sup]

    (LATEX 線上編輯器)
    快速冪:
    [tex]%5Cfn_phv%20%5Clarge%20Fast%5C%20Exponentiation%5C%20Algorithms%5C%5C%20A%5E%7Bx%7D%20%3D%5C%5C%20%5Cbegin%7Bcases%7D%201%20%26%20%5Ctext%7B%20if%20%7D%20x%3D%200%5C%5C%20%28A%5E%7B%5Cfrac%7Bx%7D%7B2%7D%7D%29%5E%7B2%7D%20%26%20%5Ctext%7B%20if%20%7D%20x%20%5Cin%20Even%282%2C4%2C6%2C8...%29%5C%5C%20A%28A%5E%7B%5Cfrac%7Bx-1%7D%7B2%7D%7D%29%5E%7B2%7D%20%26%20%5Ctext%7B%20if%20%7D%20x%20%5Cin%20Odd%20%281%2C3%2C5%2C7...%29%20%5Cend%7Bcases%7D[/tex]

    點評

    (8 + 5) mod 3 != 2 + 2 (2 * 5) mod 3 != 2 * 2 (A ± B) mod C = ((A mod C) ± (B mod C)) mod C; (A * B) mod C = ((A mod C) * (B mod C)) mod C;  發表於 2014-8-7 14:32
    回復 支持 反對

    使用道具 檢舉

  • TA的每日心情
    開心
    2015-7-8 22:33
  • 簽到天數: 26 天

    [LV.4]偶爾看看III

    27

    主題

    141

    帖子

    397

    積分

    好好學生

    Rank: 3Rank: 3

    積分
    397

    程式設計達人 - 2014新手達陣

    9#
     樓主| 發表於 2014-8-9 21:29:47 | 只看該作者
    哦~
    雖然不知道要怎麼用(是根本不懂)
    但還是謝謝學長!
    零人桐
    回復 支持 反對

    使用道具 檢舉

    您需要登錄後才可以回帖 登入 | 加入我們

    本版積分規則

    快速回覆 返回頂部 返回列表