• 2019 年百度之星·程序设计大赛


     http://bestcoder.hdu.edu.cn/contests/contest_showproblem.php?cid=861&pid=1005

    Sample Input

    5
    1
    2
    3
    4
    5

    Sample Output

    1
    1
    0
    3
    0

    这题第一反应打表,先计算,后查询输出,后来注意到数据太大,行不通

    索性把打好的表输出来找规律,果然有规律可循

    奇数和偶数有不同的规律,但周期都是3

    大家可以把下面的代码跑一下,分别输出1到30之间的奇数和偶数项的结果,试着自己找一找规律

    代码如下:

     1 #include <stdio.h>
     2 #include <string.h>
     3 #include <iostream>
     4 #include <string>
     5 #include <math.h>
     6 #include <algorithm>
     7 #include <queue>
     8 #include <set>
     9 #include <math.h>
    10 const int INF=0x3f3f3f3f;
    11 typedef long long LL;
    12 const int mod=1e9+7;
    13 const double PI=acos(-1);
    14 const int maxn=1e5+10;
    15 using namespace std;
    16 
    17 
    18 int main()
    19 {
    20     int T;
    21     scanf("%d",&T);
    22     while(T--)
    23     {
    24         LL n;
    25         scanf("%lld",&n);
    26         if(n&1==1)//奇数项 
    27         {
    28             LL num,a,b;
    29             int p,q;
    30             num=(n+1)/2;//算一下是第几个奇数 
    31             p=1;
    32             q=0;
    33             a=num/3;
    34             b=num%3;
    35             if(b==1)
    36                 printf("%lld
    ",p+4*a);
    37             else if(b==2)
    38                 printf("%lld
    ",q+a);
    39             else if(b==0)
    40                 printf("%lld
    ",q+a-1);
    41         }
    42         else//偶数项 
    43         {
    44             LL num,a,b;
    45             num=n/2;//算一下是第几个偶数 
    46             if(n==2) //把2当做了特殊项,便于以后计算 
    47                 printf("1
    ");
    48             else
    49             {
    50                 a=(num-1)/3;
    51                 b=(num-1)%3;
    52                 if(b==1)
    53                     printf("%lld
    ",n-1);
    54                 else
    55                     printf("%lld
    ",n/2);
    56             }
    57         }
    58     }
    59     return 0;
    60 }
  • 相关阅读:
    计算机组成原理
    爬取斗图
    视频爬取
    经典段子爬取
    爬取哈哈笑话
    爬取昵图网
    爬取校花网
    python操作docker
    正则表达式
    UUID
  • 原文地址:https://www.cnblogs.com/jiamian/p/11371016.html
Copyright © 2020-2023  润新知