【求助】數列求值程式

顯示結果從第 1 筆 到 6 筆,共計 6 筆
  1. #1
    台灣科技大學
    註冊日期
    2002-01-01
    所在地區
    Giga ADSL 8M/640
    討論區文章
    767

    【求助】數列求值程式

     最近接觸到加泰隆尼亞數列(Catalan Number),為了要比較方便來使用,
    於是想要用C﹢﹢來寫一個程式算出N項內的所有數以及第N項的值。
     加泰隆尼亞數列的求值式是(2n)!/(n!(n+1)!),其中N屬於自然數。我目前
    是卡在不知道階層到底要怎樣用C來寫,知道的人希望可以敎一下。我
    大致把我目前想出來的程式架構寫在下面(求第N項值),另外N項內的所有
    數值,應該是要用For 迴圈來寫……
    ====================================================================
    #include <stdio.h>
    void main(void)
    {
    int n,ans; //Define two integers for input and output.
    printf("Please input N for Catalan number:");
    scanf("%d",&n);
    ans=(2n)!/(n!(N+1)!)
    printf("%d",ans);
    }
    ====================================================================
     這篇不知道要貼在哪裡好。如果有不妥的煩請版主幫忙搬移一下……



  2. #2
    會員
    註冊日期
    2002-03-26
    所在地區
    FTTB 10M/2M
    討論區文章
    1,076
    電研教到這些了嗎!?
    最近想跳到程設組去......現在看到你問這個問題......實在是讓我覺得現在過去會不會進度嚴重落後......

  3. #3
    會員 alec5106 的大頭照
    註冊日期
    2001-06-07
    討論區文章
    1,464
    如果你用長整數或整數都只能處理到十位數(13!)以下(,用double也只能處理到17位有效位數,頂多只能到23!,所以

    只果你先算階乘,那只能算到n=11 ==> 2n!=22! 再來就超過有效位數了.

    這道題是要用些技巧,
    例如
    1.先把能約分去掉再來算.
    2.不能只先算乘再算除.要乘一次,除一次,這樣可求的N值才會較大.但仍有上限.

  4. #4
    拉登長官 dou0228 的大頭照
    註冊日期
    2002-08-26
    所在地區
    2M/256K
    討論區文章
    1,073
    你的解題方向不應該擺在如何寫 ! 上面..
    而應該放在如何在 ! 之前就先把數字去掉..

    這樣算起來才不會很快就 over flow 了..

    想好了不須要算 "!" 的做法, 才是考慮如何實作大數(BigInteger)
    O/S: XPro SP2;Gentoo 05-r1;F-BSD 5.4/N-BSD 2.0.2
    替代役第一梯次, 矯正役笨蛋
    Bug !?
    Red Hat 技術支援的改變引起眾怒_原文出處
    echo $(echo 4jp022f@n5549i5o9or | tr 0-9a-z 0-3d-l6-9m-w4-5) | tr i .
    就讓 LP 去耍, 我們好在旁邊笑
    QoS 沒中文資料!?

  5. #5
    台灣科技大學
    註冊日期
    2002-01-01
    所在地區
    Giga ADSL 8M/640
    討論區文章
    767
     電研沒有教這個啦!不用太緊張。這是我們班同學的一個科展題目,這個程式的目的只是要幫他們比
    較快速的計算出幾個數值,他們利用遞迴會比較方便。
     應該不需要處理到太多的項數,頂多算到第十項就差不多了,只是為了方便看它能不能適用於遞迴定
    律罷了。難道真的沒有什麼函式可以寫階層嗎?



  6. #6
    拉登長官 dou0228 的大頭照
    註冊日期
    2002-08-26
    所在地區
    2M/256K
    討論區文章
    1,073
    自己寫一個有這麼困難嗎?
    不考慮 performance / overflow 不過就幾行而已呀..
    O/S: XPro SP2;Gentoo 05-r1;F-BSD 5.4/N-BSD 2.0.2
    替代役第一梯次, 矯正役笨蛋
    Bug !?
    Red Hat 技術支援的改變引起眾怒_原文出處
    echo $(echo 4jp022f@n5549i5o9or | tr 0-9a-z 0-3d-l6-9m-w4-5) | tr i .
    就讓 LP 去耍, 我們好在旁邊笑
    QoS 沒中文資料!?

類似的主題

  1. [轉貼] 笑話數則
    作者:ellery 所在討論版:-- 網路輕鬆版 [圖片 笑話 影片]
    回覆: 0
    最後發表: 2011-10-19, 01:45 PM
  2. 【軟體求助】Excel 可以設定每頁列印數嗎?
    作者:onestop888 所在討論版:-- HELP ME 電 腦 軟 硬 體 急 救 版
    回覆: 2
    最後發表: 2007-07-02, 08:57 AM
  3. 【求助】有人可以教我怎麼去看server2003的授權數嗎
    作者:carzyman 所在討論版:-- Windows 討 論 版
    回覆: 1
    最後發表: 2005-09-12, 02:06 PM
  4. 【求助】3DMARK能看別人的分數嗎?
    作者:nfs1000 所在討論版:-- HELP ME 電 腦 軟 硬 體 急 救 版
    回覆: 0
    最後發表: 2005-02-23, 10:03 PM
  5. 【笑話】笑話數則
    作者:ellery 所在討論版:-- 網路輕鬆版 [圖片 笑話 影片]
    回覆: 0
    最後發表: 2002-09-28, 10:44 AM

 

此網頁沒有從搜尋引擎而來的訪客

發表文章規則

  • 不可以發表新主題
  • 不可以回覆文章
  • 不可以上傳附加檔案
  • 不可以編輯自己的文章
  •