午夜国产狂喷潮在线观看|国产AⅤ精品一区二区久久|中文字幕AV中文字幕|国产看片高清在线

    打印菱形以及斐波納契數(shù)列的幾種解法介紹
    來(lái)源:易賢網(wǎng) 閱讀:778 次 日期:2014-09-05 14:52:14
    溫馨提示:易賢網(wǎng)小編為您整理了“打印菱形以及斐波納契數(shù)列的幾種解法介紹”,方便廣大網(wǎng)友查閱!

    1、編寫(xiě)程序,打印*菱形

    推出第i行要打印的空白個(gè)數(shù)及*號(hào)個(gè)數(shù),用for循環(huán)依次打印各行

    代碼如下:

    #include<stdio.h>

    //總共要打印2*n-1行,逐行打印

    void print1(int n)

    {

    int i,j;

    for(i=1;i<=n;i++){//打印1至n行

    for(j=1;j<=n-i;j++)//打印n-i個(gè)空格

    printf(" ");

    for(j=1;j<=2*i-1;j++)//打印2*i-1個(gè)*號(hào)

    printf("*");

    printf("n");

    }

    for(;i<2*n;i++){//打印n+1至2*n-1行,同(2*n-i)行

    for(j=1;j<=n-(2*n-i);j++)

    printf(" ");

    for(j=1;j<=2*(2*n-i)-1;j++)

    printf("*");

    printf("n");

    }

    }

    void main()

    {

    int n;//n是菱形邊上*號(hào)的個(gè)數(shù)

    printf("enter n:");

    scanf("%d",&n);

    print1(n);

    }

    2、斐波納契數(shù)列(Fibonacci Sequence),又稱(chēng)黃金分割數(shù)列,指的是這樣一個(gè)數(shù)列:

    1、1、2、3、5、8、13、21、……在數(shù)學(xué)上,斐波納契數(shù)列以如下被以遞歸的方法定義:F(0)=0,F(xiàn)(1)=1,F(xiàn)(n)=F(n-1)+F(n-2)(n>=2,n∈N*).編寫(xiě)程序,輸出F(20)的值。

    這里給出四種不同的解法,注意遞歸和改進(jìn)的遞歸效率上有很大區(qū)別。

    代碼如下:

    #include<stdio.h>

    #include<math.h>

    #include<time.h>

    #define MAX 100

    //遞歸

    int f1(int n)

    {

    if(n==1 || n==0)

    return 1;

    return f1(n-1)+f1(n-2);

    }

    //改進(jìn)版的遞歸,去除重復(fù)計(jì)算

    int f2(int n)

    {

    //保存中間結(jié)果的數(shù)組

    static result[MAX]={1,1};

    if(n==1 || n==0)

    return 1;

    if(result[n-1] == 0)

    result[n-1]=f2(n-1);

    if(result[n-2] == 0)

    result[n-2]=f2(n-2);

    return result[n-1]+result[n-2];

    }

    //用數(shù)組保存中間結(jié)果(來(lái)自陳孝杰)

    int f3(int n)

    {

    int a[MAX],i;

    a[1]=1;

    a[0]=1;

    for(i=2;i<=n;i++)

    a[i]=a[i-1]+a[i-2];

    return a[n];

    }

    //迭代

    int f4(int n)

    {

    int i=2,a=1,b=1,sum=1;

    while(i<=n){

    sum=a+b;

    a=b;

    b=sum;

    i++;

    }

    return sum;

    }

    void main()

    {

    long start,end;

    start=clock();

    printf("f(40)==%dn",f1(40));

    end=clock();

    printf("用時(shí):%d msn",end-start);

    start=clock();

    printf("f(40)==%dn",f2(40));

    end=clock();

    printf("用時(shí):%d msn",end-start);

    start=clock();

    printf("f(20)==%dn",f3(20));

    end=clock();

    printf("用時(shí):%d msn",end-start);

    start=clock();

    printf("f(20)==%dn",f4(20));

    end=clock();

    printf("用時(shí):%d msn",end-start);

    }

    運(yùn)行結(jié)果:

    名單

    更多信息請(qǐng)查看IT技術(shù)專(zhuān)欄

    更多信息請(qǐng)查看網(wǎng)絡(luò)編程
    易賢網(wǎng)手機(jī)網(wǎng)站地址:打印菱形以及斐波納契數(shù)列的幾種解法介紹
    由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢(xún)回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門(mén)公布的正式信息和咨詢(xún)?yōu)闇?zhǔn)!

    2025國(guó)考·省考課程試聽(tīng)報(bào)名

    • 報(bào)班類(lèi)型
    • 姓名
    • 手機(jī)號(hào)
    • 驗(yàn)證碼
    關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢(xún) | 簡(jiǎn)要咨詢(xún)須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
    工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
    云南網(wǎng)警備案專(zhuān)用圖標(biāo)
    聯(lián)系電話(huà):0871-65099533/13759567129 獲取招聘考試信息及咨詢(xún)關(guān)注公眾號(hào):hfpxwx
    咨詢(xún)QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
    云南網(wǎng)警報(bào)警專(zhuān)用圖標(biāo)