算法起步(1)
2016-03-13 20:45
363 查看
三角形问题(C++) 今日格言:编程第一步逐渐养成计算机思维 有n(n>3)个棍子,第i个棍子长度为ai,随意挑选三根,要求组成三角形,组成的周长最大,若无法组成三角形,则输出为0; 这是一道正常的数学题 作为一个正常的学生,第一次想到的自然是勾股定理,但对于计算机实现而言,它的实现呢(仅仅是代码思路,如需编译,可自行调试)
int n,a[MAX_N]; void solve(){ int ans = 0; for(i = 0;i<n;i++){ for(j=i+1;j<n;j++){ for(k=j+1;k<n;k++){ len = a[i]+a[j]+a[k]; 这里运用了max函数来确定最长的一边 int ma = max(a[i],max(a[j],a[k])); rest = len - ma; **if(rest > ma){ if(len>ans){ ans = len; } }**这里是自己的思路,但是可以简化: if(rest>ma){ ans = max(ans,len) } } } } printf("%d/n",ans); } 推荐两个好玩的代码游戏 codecombat中国 (通过玩游戏学习代码知识,支持lua,coffeescript,JavaScript)] (http://jingyan.baidu.com/article/77b8dc7fe684026175eab65e.html) codeTank CodeTank(代码坦克)是由 腾讯 AlloyTeam 和 HTML5 梦工场联合出品的在线坦克仿真游戏平台, 是面向Javascript程序员的编程游戏!]
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- 关于指针的一些事情
- c++ primer 第五版 笔记前言
- share_ptr的几个注意点
- Lua中调用C++函数示例
- Lua教程(一):在C++中嵌入Lua脚本
- Lua教程(二):C++和Lua相互传递数据示例
- C++联合体转换成C#结构的实现方法
- C++高级程序员成长之路
- C++编写简单的打靶游戏
- C++ 自定义控件的移植问题
- C++变位词问题分析
- C/C++数据对齐详细解析
- C++基于栈实现铁轨问题
- C++中引用的使用总结
- 使用Lua来扩展C++程序的方法
- C++中调用Lua函数实例
- Lua和C++的通信流程代码实例
- C与C++之间相互调用实例方法讲解
- 解析C++中派生的概念以及派生类成员的访问属性