2101 Problem A Snake Filled

题目描述

“What a boring world!”
Julyed felt so bored that she began to write numbers on the coordinate paper. She wrote a “0” on the center, then wrote the follow numbers clockwise, which looked like a snake as below.
 
“Damn! I have fulfilled the paper!”
Julyed was looking at paper. Suddenly, she began to feel curious.
“What is the nth number on the positive axis of Y axis?”
She asked tomriddly for the question. But tomriddly was so busy that he ignored Julyed. So now you have to solve this problem.

输入

Multiple test cases.
The first line contains an integer T (T <= 50), indicating the number of test cases.
Then T lines follows, one line per case. Each line contains a positive integer n (n <= 3000).

输出

One line per case. An integer indicates the nth number on the positive axis of Y axis.

样例输入

3
1
2
18

样例输出

5
18
1314

解题心得:
  输入0,1,2...,然后对应输出黄色标记的数字。此题纯靠找规律即可解答。
  我找到的规律是这样的:0,5,18,39 ,每次增加的数add[1]=4,add[2]=13,add[3]=21,然后发现每个add之间都是增加8;
  下面是代码。

代码:
#include <iostream>
#include <cstdio>
#include <cstring>

using namespace std;

int main()
{
    int n;
    int add=5;
    int a[3005];
    int z=8;
    int s=0;
    int ii;
    memset(a,0,3005*sizeof(int));
    cin>>n;
    for(int i=0;i<n;i++){
        for(int j=1;j<=3000;j++){
            s+=add;
            a[j]=s;
            add+=z;
        }
        s=0;
        add=5;
        scanf("%d",&ii);
        printf("%d\n",a[ii]);
    }
    return 0;
}

 

 
全部评论

相关推荐

哈哈哈哈哈哈哈哈哈哈这个世界太美好了
凉风落木楚山秋:毕业出路老师不管,你盖个章他好交差就完事了,等你盖完毕业了就不关他事情了
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-08 17:10
点赞 评论 收藏
分享
门口唉提是地铁杀:之前b站被一个游戏demo深深的吸引了。看up主页发现是个初创公司,而且还在招人,也是一天60。二面的时候要我做一个登录验证和传输文件两个微服务,做完要我推到github仓库,还要我加上jaeger和一堆运维工具做性能测试并且面试的时候投屏演示。我傻乎乎的做完以后人家跟我说一句现在暂时不招人,1分钱没拿到全是白干
你的秋招第一场笔试是哪家
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务