zoukankan      html  css  js  c++  java
  • 一月17日新生冬季练习赛解题报告F.Play Game 1

    看到F题彭彪写的解题报告想死的心都有   

    数太少了  随便投机取巧都能过  作死啊

    不过值得注意的是等比数列不能相除  分母不能能为零  否则会re

    F.Play Game 1

    Time Limit: 1000 MS

    Memory Limit: 32768 K

    Total Submit: 279 (78 users)

    Total Accepted: 62 (62 users)

    Special Judge: No

    Description

    小S和小O在玩一个游戏:小S给小O一组有规律的整数,而且只给出前5项,让他求出后面5项。比如:1,2,3,4,5,__,__,__,__,__。显然这是等差数列,所以答案应该是6,7,8,9,10。为了简化题目,老师规定规律只有三种:等差数列、等比数列、斐波那契数列(f[i]=f[i-2]+f[i-1]);且公差、公比均为整数,所有出现的数字不会超出 int 范围。

    Input

    多组输入数据,每组数据只有5个数,正好5个数,保证不会超出int。

    Output

    如果能找到符合条件的规律,则输出5个整数,代表后5项的值。

    否则,请输出”None”。(引号不用输出)。

    Sample Input

    1 2 3 4 5

    2 3 5 8 13

    Sample Output

    6 7 8 9 10

    21 34 55 89 144

    Hint

    每个数字之后都有空格,囧。

    #include<stdio.h>

    #include<string.h>

    #include<math.h>

    #include<algorithm>

    using namespace std;

    int main()

    {

        int i,a[10];

        while (~scanf("%d %d %d %d %d",&a[0],&a[1],&a[2],&a[3],&a[4]))

        {

            int flag=1;

            if (a[0]+a[1]==a[2]&&a[1]+a[2]==a[3]&&a[2]+a[3]==a[4])

            {

                for (i=5; i<10; i++)

                {

                    a[i]=a[i-1]+a[i-2];

                    printf("%d",a[i]);

                    if (flag)

                        printf(" ");

                    flag++;

                }

            }

            else if (a[0]+a[2]==2*a[1]&&a[1]+a[3]==2*a[2]&&a[2]+a[4]==2*a[3])

            {

                int d=a[1]-a[0];

                for (i=5; i<10; i++)

                {

                    a[i]=a[i-1]+d;

                    printf("%d",a[i]);

                    if (flag)

                        printf(" ");

                    flag++;

                }

            }

            else if (a[0]*a[2]==a[1]*a[1]&&a[1]*a[3]==a[2]*a[2]&&a[2]*a[4]==a[3]*a[3])

            {

                int d=a[1]/a[0];

                for (i=5; i<10; i++)

                {

                    a[i]=a[i-1]*d;

                    printf("%d",a[i]);

                    if (flag)

                        printf(" ");

                    flag++;

                }

            }

            else

                printf("None");

            puts("");

        }

        return 0;

    }

  • 相关阅读:
    Java ClassLoader
    Java Hashcode
    Java 装箱 拆箱
    Java 深拷贝,浅拷贝
    Java IO流
    JVM内存模型
    C语言中的__FILE__、__LINE__和#line
    OpenMP和MPI的区别
    visual studio代码备份精减
    MVVM设计模式在WPF中的应用
  • 原文地址:https://www.cnblogs.com/zhanzhao/p/3525662.html
Copyright © 2011-2022 走看看