ZOJ-3935-2016
来源:互联网 发布:自动化编程自学 编辑:程序博客网 时间:2024/05/29 04:52
ZOJ-3935-2016
In mathematics, a polygonal number is a number represented as dots or pebbles arranged in the shape of a regular polygon. The dots are thought of as alphas (units). These are one type of 2-dimensional figurate numbers. The following picture shows how triangular numbers, square numbers, pentagonal numbers and hexagonal numbers represented as dots arranged in the shape of corresponding regular polygon.
2016 is not only a leap year but also a triangular and hexagonal year. If you are patient enough, you can count the number of the dots in the left triangle or in the right hexagon in the following picture. The number of dots in each shape is 2016.
Therefore, 2016 is a triangular-hexagonal-leap year. The previous triangular-hexagonal-leap year is 1540 and the next is 2556. So living to see 2016 is very rare experience.
You task is to list the triangular-hexagonal-leap years from 2016 to 990528. 990528 is also a triangular-hexagonal-leap year.
Input
This problem has no input.
Output
Please print each triangular-hexagonal-leap year in increasing order.
For example, if you are asked to list the triangular-hexagonal-leap years from 780 to 2556, the output should be:
780
1128
1540
2016
2556
Sample Output
2016
2556
… <– some lines are skipped
990528
题目链接:ZOJ-3935
题目大意:求在[2016,990528]满足条件的年份
* 闰年* 存在一个n,n * (n + 1) / 2 = year* 存在一个n,n * (2 * n - 1) = year
以下是代码:
//// ZOJ-3935-2016.cpp// ZOJ//// Created by pro on 16/4/14.// Copyright (c) 2016年 pro. All rights reserved.//#include <vector>#include <map>#include <set>#include <algorithm>#include <iostream>#include <cstdio>#include <cmath>#include <cstdlib>#include <string>#include <cstring>using namespace std;bool isleap(int year){ return (year % 4 ==0 && year % 100 != 0) || (year % 400 ==0 );}int main(){ for (int i = 2016; i <= 990528; i += 4) { if (!isleap(i)) continue; int dete = (int)sqrt(1 + 8 * i); if (dete * dete != 1 + 8 * i) continue; if ((dete - 1) % 2) continue; if ((dete + 1) % 4) continue; cout << i << endl; } return 0;}
- ZOJ-3935-2016
- ZOJ 3935 2016
- ZOJ 2016 3935
- ZOJ 2016 欧拉路判定
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- poj--2752 Seek the Name, Seek the Fame(KMP)
- 链表分割
- Bootstrap.js 重复加载导致dropdown-toggle出现问题
- codeblock 设置
- Spring MVC 文件上传的MaxUploadSizeExceededException异常处理
- ZOJ-3935-2016
- int、long、long long取值范围
- C++ string类的实现
- redis 数据类型详解 以及 redis适用场景场合
- 用 shell 抠取文本中指定内容
- 【补充】deferred.then()的理解
- C#实现优先队列 基于二叉堆 附使用案例
- 配置eclipse内存
- Session和cookie详解和区别perfect