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

2018-10-10  本文已影响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");

}


上一篇下一篇

猜你喜欢

热点阅读