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

    我爱学习,学习使我快乐。
  • 相关阅读:
    Struts2+Spring3+Mybatis3开发环境搭建
    spring+struts2+mybatis
    【LeetCode】Populating Next Right Pointers in Each Node
    【LeetCode】Remove Duplicates from Sorted Array
    【LeetCode】Remove Duplicates from Sorted Array II
    【LeetCode】Binary Tree Inorder Traversal
    【LeetCode】Merge Two Sorted Lists
    【LeetCode】Reverse Integer
    【LeetCode】Same Tree
    【LeetCode】Maximum Depth of Binary Tree
  • 原文地址:https://www.cnblogs.com/kerven/p/8118170.html
Copyright © 2011-2022 走看看