zoukankan      html  css  js  c++  java
  • 算法--基础入门

    入门训练 Fibonacci数列 

    问题描述

    Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。

    当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。

    输入格式

    输入包含一个整数n。

    输出格式

    输出一行,包含一个整数,表示Fn除以10007的余数。

    说明:在本题中,答案是要求Fn除以10007的余数,因此我们只要能算出这个余数即可,而不需要先计算出Fn的准确值,再将计算的结果除以10007取余数,直接计算余数往往比先算出原数再取余简单。

    样例输入

    10

    样例输出

    55

    样例输入

    22

    样例输出

    7704

    数据规模与约定

    1 <= n <= 1,000,000。

    #include <iostream>

    using namespace std;

    const int mod=10007;

    const int maxn=1000000;

    int F[maxn];

    int main()

    {

        F[1]=F[2]=1;

        int n;

        cin>>n;

        for(int i=3;i<=n;i++)

        {

            F[i]=(F[i-1]+F[i-2])%mod;

        }

        cout<<F[n];

        return 0;

    }

    基础练习 字母图形 

    问题描述

    利用字母可以组成一些美丽的图形,下面给出了一个例子:

    ABCDEFG

    BABCDEF

    CBABCDE

    DCBABCD

    EDCBABC

    这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。

    输入格式

    输入一行,包含两个整数n和m,分别表示你要输出的图形的行数的列数。

    输出格式

    输出n行,每个m个字符,为你的图形。

    样例输入

    5 7

    样例输出

    ABCDEFG

    BABCDEF

    CBABCDE

    DCBABCD

    EDCBABC

    数据规模与约定

    1 <= n, m <= 26。

    #include <iostream>

    using namespace std;

    int main()

    {

        int n,m;

        cin>>n>>m;

        int array[n][m];

        for(int i=0;i<n;i++)

        {

            array[i][0]=65+i;

        }

        for(int j=0;j<m;j++)

        {

            array[0][j]=65+j;

        }

        for(int i=1;i<n;i++)

        {

            for(int j=1;j<m;j++)

            {

                array[i][j]=array[i-1][j-1];

            }

        }

        for(int i=0;i<n;i++)

        {

            for(int j=0;j<m;j++)

            {

                cout<<(char)array[i][j];

            }

            cout<<endl;

        }

        return 0;

    }

    基础练习 数列特征

    问题描述

    给出n个数,找出这n个数的最大值,最小值,和。

    输入格式

    第一行为整数n,表示数的个数。

    第二行有n个数,为给定的n个数,每个数的绝对值都小于10000。

    输出格式

    输出三行,每行一个整数。第一行表示这些数中的最大值,第二行表示这些数中的最小值,第三行表示这些数的和。

    样例输入

    5

    1 3 -2 4 5

    样例输出

    5

    -2

    11

    数据规模与约定

    1 <= n <= 10000。

    #include <iostream>

    using namespace std;

    int main()

    {

        int n;

        int max,min,sum=0;

        cin>>n;

        int array[10000];

        for(int i=0;i<n;i++)

        {

            cin>>array[i];

        }

        max=-10000;min=10000;

        for(int i=0;i<n;i++)

        {

            if(array[i]>max)

            {

                max=array[i];

            }

            if(array[i]<min)

            {

                min=array[i];

            }

            sum+=array[i];

        }

        cout<<max<<endl;

        cout<<min<<endl;

        cout<<sum;

        return 0;

    }

    注意-10000和10000

    我爱学习,学习使我快乐。
  • 相关阅读:
    支付宝生活号内置浏览器长按保存二维码
    Web前端发展史
    ES6语法
    Java多线程
    Java基础知识
    静态库和动态库的使用
    Gcc的使用
    Vim的使用
    力扣345. 反转字符串中的元音字母
    力扣605. 种花问题
  • 原文地址:https://www.cnblogs.com/kerven/p/8118170.html
Copyright © 2011-2022 走看看