茄子在线看片免费人成视频,午夜福利精品a在线观看,国产高清自产拍在线观看,久久综合久久狠狠综合

    <s id="ddbnn"></s>
  • <sub id="ddbnn"><ol id="ddbnn"></ol></sub>

  • <legend id="ddbnn"></legend><s id="ddbnn"></s>

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

    1、編寫程序,打印*菱形

    推出第i行要打印的空白個數(shù)及*號個數(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個空格

    printf(" ");

    for(j=1;j<=2*i-1;j++)//打印2*i-1個*號

    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是菱形邊上*號的個數(shù)

    printf("enter n:");

    scanf("%d",&n);

    print1(n);

    }

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

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

    這里給出四種不同的解法,注意遞歸和改進的遞歸效率上有很大區(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);

    }

    //改進版的遞歸,去除重復計算

    int f2(int n)

    {

    //保存中間結果的數(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ù)組保存中間結果(來自陳孝杰)

    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("用時:%d msn",end-start);

    start=clock();

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

    end=clock();

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

    start=clock();

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

    end=clock();

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

    start=clock();

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

    end=clock();

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

    }

    運行結果:

    名單

    更多信息請查看IT技術專欄

    更多信息請查看網(wǎng)絡編程
    易賢網(wǎng)手機網(wǎng)站地址:打印菱形以及斐波納契數(shù)列的幾種解法介紹

    2026上岸·考公考編培訓報班

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