hdu 1396 Counting Triangles(递推)
Counting Triangles
Problem Description
Given an equilateral triangle with n thelength of its side, program to count how many triangles in it.
Input
The length n (n <= 500) of theequilateral triangle's side, one per line.
process to the end of the file
Output
The number of triangles in the equilateraltriangle, one per line.
Sample Input
1
2
3
Sample Output
1
5
13
/*****************************************
数三角形的个数,开始忽略了顶角在最后一排的倒着的那些三角形,老是WA,然后怎么数都不对,后来看了别人的博客,我数的方式不对,
正确数的方式::假设边长为n
先数正向的三角形
1+2+3+......+(n-1)+n ————(边长为1的三角形)
1+2+3+......+(n-2)+(n-1) ————(边长为2的三角形)
1+2+3+......+(n-3)+(n-2) ————(边长为3的三角形)
…………
1+2+3 ————(边长为n-2的三角形)
1+2 ————(边长为n-1的三角形)
1 ————(边长为n的三角形)
然后数倒着的三角形
当n为偶 / 奇 数时:1+2+3+……+(n-1) ————(边长为1的三角形)
1+2+3+……+(n-3) ————(边长为2的三角形)
1+2+3+……+(n-5) ————(边长为3的三角形)
…………
1+2+3 ————(边长为 (n-2)/2 的三角形)
1————(边长为 n/2 的三角形) 1————(边长为2的三角形) 最后一行注意,n为偶数 则+1 ,,n为奇数 则 + (1+2)
******************************************************/
#include <iostream>
using namespace std;
int num[1000];
void cal()
{
num[1] = 1;int i;
for(i = 2;i<500;i++)
num[i] = num[i-1]+i;
}
int main()
{
cal();
int n,i,sum;
while(cin>>n&&n)
{
sum = n*(n+1)*(n+2)/6;
n-=1;
while(n>0)
{
sum+=num[n];
n-=2;
}
cout<<sum<<endl;
}
return 0;
}
hdu 1396 Counting Triangles(递推)的更多相关文章
- HDU 2085 核反应堆 --- 简单递推
HDU 2085 核反应堆 /* HDU 2085 核反应堆 --- 简单递推 */ #include <cstdio> ; long long a[N], b[N]; //a表示高能质点 ...
- HDU 5860 Death Sequence(递推)
HDU 5860 Death Sequence(递推) 题目链接http://acm.split.hdu.edu.cn/showproblem.php?pid=5860 Description You ...
- hdu 2604 Queuing(dp递推)
昨晚搞的第二道矩阵快速幂,一开始我还想直接套个矩阵上去(原谅哥模板题做多了),后来看清楚题意后觉得有点像之前做的数位dp的水题,于是就用数位dp的方法去分析,推了好一会总算推出它的递推关系式了(还是菜 ...
- HDU 2154 跳舞毯 | DP | 递推 | 规律
Description 由于长期缺乏运动,小黑发现自己的身材臃肿了许多,于是他想健身,更准确地说是减肥. 小黑买来一块圆形的毯子,把它们分成三等分,分别标上A,B,C,称之为“跳舞毯”,他的运动方式是 ...
- HDU - 3336 next运用+递推
题目的匹配应该也要看成一个文本串与另一个模式串的匹配过程 Text是以当前i结尾的后缀来匹配Pattern的前缀(非真) 这里的Pattern肯定是可以匹配成功的,直接由next来保证(next总是当 ...
- POJ 3046 Ant Counting(递推,和号优化)
计数类的问题,要求不重复,把每种物品单独考虑. 将和号递推可以把转移优化O(1). f[i = 第i种物品][j = 总数量为j] = 方案数 f[i][j] = sigma{f[i-1][j-k], ...
- hdu 5950 Recursive sequence 递推式 矩阵快速幂
题目链接 题意 给定\(c_0,c_1,求c_n(c_0,c_1,n\lt 2^{31})\),递推公式为 \[c_i=c_{i-1}+2c_{i-2}+i^4\] 思路 参考 将递推式改写\[\be ...
- HDU 5950 Recursive sequence 递推转矩阵
Recursive sequence Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Other ...
- luogu P1216 [IOI1994][USACO1.5]数字三角形 Number Triangles (递推)
链接:https://www.luogu.org/problemnew/show/P1216 题面: 题目描述 观察下面的数字金字塔. 写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的 ...
随机推荐
- 1003: A Bug
题目链接:http://172.16.200.33/JudgeOnline/problem.php?id=1003 分析: (1)题意很简单,就是检查一堆数据中是否有同性恋,找出主要矛盾是如果1喜欢2 ...
- uvaLA4255 Guess BFS+拓扑排序
算法指南白书 思路:“连续和转化成前缀和之差” #include <stdio.h> #include <string.h> #include <iostream> ...
- hadoop作业调优参数整理及原理【转】
1 Map side tuning参数 1.1 MapTask运行内部原理 当map task开始运算,并产生中间数据时,其产生的中间结果并非直接就简单的写入磁盘.这中间的过程比较复杂,并且利用到了内 ...
- javascrip中array使用
一.测试数组长度是使用arr.length;(注:使用delete不会修改数组的length属性) 二.数组方法 1.join() Array.join()方法将数组所有元素都转化为字符串连接在一起, ...
- xml基础小结
XML基础 1)XML的作用 1.1 作为软件配置文件 1.2 作为小型的“数据库” 2)XML语法(由w3c组织规定的) 标签: 标签名不能以数字开头,中间不能有空格,区分大小写.有且仅有一个根标签 ...
- WPF combobox 圆角制作
修改ComboBox的Template, 在VS 2010或者Blend中你可以导出ComboBox的默认模板: VS2010中: 然后修改里面的模板,比如: <Window x:Class=& ...
- 在android客户端加载html源代码总结
在实际应用中,客户端要从网页上获取数据是常见的事,如果要解析网页上的html文档,那么首先得获取html源码,然后现在一般使用Jsoup来转换成Document文档来进行解析,本文主要讨论如何使用Js ...
- JavaScript中七种函数调用方式及对应 this 的含义
this 在 JavaScript 开发中占有相当重要的地位,不过很多人对this这个东西都感觉到琢磨不透.要真正理解JavaScript的函数机制,就非常有必要搞清楚this到底是怎么回事. 函数调 ...
- mysql_convert_table_format 批量修改表引擎
[root@server-mysql bin]# mysql_convert_table_format --help Conversion of a MySQL tables to other sto ...
- /bin/bash^M: bad interpreter: 没有那个文件或目录--转载
运行脚本时出现了这样一个错误,打开之后并没有找到所谓的^M,查了之后才知道原来是文件格式的问题,也就是linux和windows之间的不完全兼容...具体细节不管,如果验证: vim test.sh: ...