数三角形Triangel Counting UVa 11401()
来源:互联网 发布:定制t恤 淘宝 编辑:程序博客网 时间:2024/06/08 07:26
题意
给定一个整数n,有多少种方法可以从1、2、3、、、n中选择元素构成三角形?
分析
我们设三角形的三边长度分别为x, y, z,若我们假设x是最长边,,因为我们规定了x是最长边,所以根据加法原理,这些三角形和其他x构成的三角形一定是不一样的,我们设以x为最长边构成三角形的数量为c(x)。
根据三角形的性质我们不难得出x - y < z < x,当y = 1时 z有0个解,当y = 2 时 z有1个解 。。。当y等于x - 1时 z 有 x - 2 个解,总共数量是:
c++#include <iostream>#include <cstring>#include <cstdio>#include <algorithm>#include <cmath>using namespace std;const int maxn = 1000000 + 10;long long f[maxn], n;void init(){ memset(f, 0, sizeof(f)); for(long long i = 3; i < maxn; i++){ f[i] = f[i - 1] + ((i - 1) * (i - 2) / 2 - (i - 1 - i / 2)) / 2; }}int main(int argc, const char * argv[]) { init(); while(scanf("%lld", &n) != EOF){ if(n < 3) break; printf("%lld\n", f[n]); } return 0;}
小结
问题还是要一步一步从例子开始研究,重要的不是最后能不能搞的出来,而是在不断的研究过程中对问题本身认识的加深和研究问题能力的提高
阅读全文
0 0
- 数三角形Triangel Counting UVa 11401()
- UVA 11401 - Triangle Counting 数三角形(推理)
- uva 11401 Triangle Counting 数三角形 (计数问题)
- UVa 11401 Triangle Counting 数三角形
- UVA 11401 Triangle Counting数三角形
- uva 11401 Triangle Counting 数三角形 递推
- uva 11401 Triangle Counting(一共可以组成多少三角形)
- 数学,计数(数三角形,uva 11401)
- uva11401 - Triangle Counting(数三角形)
- UVa 11401 数三角形(组合数学)
- UVa11041 Triangle Counting 数三角形 题解
- [BZOJ1914][Usaco2010 OPen]Triangle Counting 数三角形
- 【bzoj1914】[Usaco2010 OPen]Triangle Counting 数三角形
- Uva - 11401 - Triangle Counting(数学推导)
- UVA 11401 - Triangle Counting (数学题)
- UVa 11401 Triangle Counting(递推)
- UVa 11401 - Triangle Counting (组合数学)
- UVA - 11401 - Triangle Counting (递推!)
- css格式化排版
- 用几种迭代方式打印出TeeeMap中元素
- android 中Service跳转到Activity
- 为何MVC没有被列入23种设计模式之一
- java FileDescriptor介绍
- 数三角形Triangel Counting UVa 11401()
- 如何下载股市所有的股票代码数据
- 输入某年某月某日,是闰年还是平年,判断这一天是这一年的第几天?
- LDDP3中Linux-2.6.10的内核编译过程
- 2017年Android百大框架排行榜
- 鸟叔Linux学习:第五章 Linux 的文件权限与目录配置
- JAVA集合类简述
- 【c++】对象
- Linux最小根文件系统