zoukankan      html  css  js  c++  java
  • 神奇的斐波那契

    1286 神奇的斐波那契

    这道题卡了我一小时!矩阵的一些操作还是有点不熟悉啊,有待提高!

    题目描述:

    斐波那契数列大家都熟悉吧,不熟悉的问问旁边的吧,
    不能多问哦,
    现在我们又要用到斐波那契数列了,
    给定两个小于等于15的数m,n,
    构造一个m行n列的矩阵,规则如下,
    第奇数列从上到下是斐波那契数列的前几项
    第偶数列从下到上是斐波那契数列的前几项

    输入描述:

    /*
    两个数m,n
    */
    12 15
    

    输出描述:

    /*
    输出题目描述的矩阵,每个数据占5个字符宽,并左对齐
    */
    1    144  1    144  1    144  1    144  1    144  1    144  1    144  1    
    1    89   1    89   1    89   1    89   1    89   1    89   1    89   1    
    2    55   2    55   2    55   2    55   2    55   2    55   2    55   2    
    3    34   3    34   3    34   3    34   3    34   3    34   3    34   3    
    5    21   5    21   5    21   5    21   5    21   5    21   5    21   5    
    8    13   8    13   8    13   8    13   8    13   8    13   8    13   8    
    13   8    13   8    13   8    13   8    13   8    13   8    13   8    13   
    21   5    21   5    21   5    21   5    21   5    21   5    21   5    21   
    34   3    34   3    34   3    34   3    34   3    34   3    34   3    34   
    55   2    55   2    55   2    55   2    55   2    55   2    55   2    55   
    89   1    89   1    89   1    89   1    89   1    89   1    89   1    89   
    144  1    144  1    144  1    144  1    144  1    144  1    144  1    144
    

    代码如下:

    #include <stdio.h>
    #include<math.h>
    int mins(int x,int y){
        return x<y?x:y;
    }
    
    int main()
    {
        int i =0,j=0;
        int m =0,n=0;
        int a[15]={0};
        int b[15][15] = {0};
        a[0] = 1;
        a[1] = 1;
        scanf("%d %d",&m,&n);
        //斐波那契数列
        for(i=2;i<m;i++)
            a[i] = a[i-1] + a[i-2];
    
        
        for(j=0;j<mins(m,n)+abs(m-n);j++)
            for(i=0;i<m;i++){
                b[i][j] = a[i];
    
        //打印
        for(i=0;i<m;i++){
            for(j=0;j<n;j++){
                if(j%2==0)
                    printf("%-5d",b[i][j]);
                else
                    printf("%-5d",b[m-1-i][j]);
            }
            printf("%
    ");
        }
    }
    
  • 相关阅读:
    JAVA基础——异常详解
    Android Studio如何配置adb以及常用命令
    利用Android Studio编写 Android上的c与c++程序
    启动与销毁Activity
    应用资源概览
    Android 开发者文档 -- 应用基础知识
    51单片机最小系统
    同相放大器
    反相放大器
    面向对象开发C++快速入门视频教程 C++基础加实战视频教程
  • 原文地址:https://www.cnblogs.com/lwp-nicol/p/14339451.html
Copyright © 2011-2022 走看看