美文网首页
菜鸟编程学习(python&C--005)

菜鸟编程学习(python&C--005)

作者: 就如此简单 | 来源:发表于2018-10-10 17:32 被阅读0次

    Python 练习实例6(Python 100例)

    题目:斐波那契数列

    程序分析:斐波那契数列(Fibonacci sequence),又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……。

    在数学上,费波那契数列是以递归的方法来定义:

    F0 = 0    (n=0)

    F1 = 1    (n=1)

    Fn = F[n-1]+ F[n-2](n=>2)

    程序代码

    方法一:

    a=b=1

    n = int(raw_input('n:'))

    if n==1:

        print 0

    elif n==2 and n==3:

        print 1

    else:

        for i in range(3,n,2):

            a=a+b

            b=a+b

        if n%2==0:

            print a

        else:

            print b

    方法二:

    def fib(n):

        a,b = 1,1

        for i in range(n-1):

            a,b = b,a+b

        return a

    # 输出了第10个斐波那契数列

    print fib(10)


    13.无穷数列1,1,2,3,5,8,13,21,34,55...称为Fibonacci数列,它可以递归地定义为

    F(n)=1 ...........(n=1或n=2)

    F(n)=F(n-1)+F(n-2).....(n>2)

    现要你来求第n个斐波那契数。(第1个、第二个都为1)               (南阳理工acm)

    输入

    第一行是一个整数m(m<5)表示共有m组测试数据

    每次测试数据只有一行,且只有一个整形数n(n<20)

    输出

    对每组输入n,输出第n个Fibonacci数

    样例输入

    3

    1

    3

    5

    样例输出

    1

    2

    5

    程序代码

    #include <stdio.h>

    int main()

    {

            int a[5],b[100],i,j,n;

            scanf("%d",&j);

            for(i=0;i<j;i++)

            {

                    scanf("%d",&a[i]);

            }

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

            {

                    b[0]=0;

                    b[1]=1;

                    b[n]=b[n-1]+b[n-2];

            }

            for(i=0;i<j;i++)

            {

                    n=a[i];

                    printf("%d\n",b[n]);

            }

            return 0;

    }


    【程序33】题目:学习gotoxy()与clrscr()函数 (c语言经典编程实例100题)

    程序分析:

    程序源代码:

    #include <stdio.h>

    #include <string.h>

    #include <stdlib.h>

    #include <math.h>

    #include "conio.h"

    #include "windows.h"

    int textbackground(short iColor)

    {

        HANDLE hd = GetStdHandle(STD_OUTPUT_HANDLE);

        CONSOLE_SCREEN_BUFFER_INFO csbInfo;

        GetConsoleScreenBufferInfo(hd, &csbInfo);

        return SetConsoleTextAttribute(hd, (iColor<<4)|(csbInfo.wAttributes&~0xF0));

    }

    void gotoxy(int x, int y)

    {

        COORD coord = {x, y}; 

        SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);//GetStdHandle获取标准输出设备句柄;两个参数分别是指定哪个窗体,具体位置

    }

    void main(void)

    {

        printf("----------------fdmsaf\r\n");

    //clrscr();

    system("CLS");//system("CLS");/*清屏函数:在VS2010中直接不能调用clrscr,参考网上大神做了以上函数*/

    textbackground(2);

    gotoxy(1, 5);/*定位函数*/

    cprintf("Output at row 5 column 1\n");

    textbackground(3);

    gotoxy(20, 10);

    cprintf("Output at row 10 column 20\n");

    system("pause");

    }


    相关文章

      网友评论

          本文标题:菜鸟编程学习(python&C--005)

          本文链接:https://www.haomeiwen.com/subject/eykjaftx.html