一道关于算法的面试题

sido 2013-10-15 05:53:08
用C#编程并写出最终结果n+(n-1)+(n-2)+...+1(n=100)

上大学的时候算法没好好学。
有点坑。。求大神的解法。
...全文
1050 49 打赏 收藏 转发到动态 举报
写回复
用AI写文章
49 条回复
切换为时间正序
请发表友善的回复…
发表回复
shm_bd 2013-10-18
  • 打赏
  • 举报
回复
考的是递归。
xyzhuzhou 2013-10-17
  • 打赏
  • 举报
回复
引用 19 楼 sp1234 的回复:
[quote=引用 楼主 chnyifan 的回复:] 用C#编程并写出最终结果n+(n-1)+(n-2)+...+1(n=100) 上大学的时候算法没好好学。 有点坑。。求大神的解法。
其实这个基础跟编程没有直接关系,主要是看你的数学逻辑知识。 当一个人从初中数学水平迈入高中数学水平(或者大学一年级水平),他就不应该这样写公式了。他学到的所有数学知识都是函数推导式的。如果你写不出 T(n) = n + T(n-1) ; n > 1 T(1) = 1 你就不太可能学会简单的算术程序设计,因为不会识别函数公式。 [/quote]貌似n应该大于等于1。
xyzhuzhou 2013-10-17
  • 打赏
  • 举报
回复
引用 18 楼 u011130289 的回复:
[quote=引用 8 楼 dern_wang 的回复:] 建议先学数学吧。话说那个说用for循环是在坑人啊
怎么坑了,要我是用for了[/quote] 貌似N应该大于等于1.
吉普赛的歌 2013-10-17
  • 打赏
  • 举报
回复
教你个好办法, 又好记好能明白: 梯形面积公式知道吧: (上底+下底)*高/2 你那个题目一样: 上底100, 下底1 , 高100 所以就是 (100+1)*100/2 记住了吧,
willhuo 2013-10-16
  • 打赏
  • 举报
回复
对你的题目表示很蛋疼,因为从1加到100的记过小学就已经学过了,5050
马肠河 2013-10-16
  • 打赏
  • 举报
回复
((n+1)*n)/2
打你屁屁 2013-10-16
  • 打赏
  • 举报
回复
卧槽,高斯算法呀
sunandsong4 2013-10-16
  • 打赏
  • 举报
回复
private void Form1_Load(object sender, EventArgs e) { MessageBox.Show(AddSum(100).ToString()); } private int AddSum(int a) { a -= 1; if (a > 1) { return a + AddSum(a); } else { return a; } }
烙饼 2013-10-16
  • 打赏
  • 举报
回复
public int Fuction1(int n) { return n*(1 + n) / 2; } 这才是考官想要的答案
  • 打赏
  • 举报
回复
上初中的时候,或许老师给你写上一个“求和公式”让你死记硬背。但是当你上了大学,你会发现,许多计算知识都要重新学过,你要学会“自己动手”推导公式了。 面试官都是要招聘中学生而不是大学生?肯定要理解面试的问题。 当然,能够面这样的题目(并且这样容易被歧义),说明这个面试官或许是想:这纯粹是面一个毫无基础的大专生。
  • 打赏
  • 举报
回复
我可以非常肯定地说:死记硬背个等差数列公式,还自认为“这就是面试官想要的答案”,这会被面试官认为比较悲催。 面试除了要剔除什么都不动手的人以外,就是要剔除靠死记硬背混进来的人。因为剔除千方百计混下来的人,剩下的人才能相互激励形成比较主动的“程序设计”的独立思考环境。
jiaoshiyao 2013-10-16
  • 打赏
  • 举报
回复
面试官经常被打得
hawke1234 2013-10-16
  • 打赏
  • 举报
回复
int process(int n) { if(n <1) throw new Exception("n can't be less than 1!"); if(n == 1) return n; else return process(n-1)+n; }
zhoujk 2013-10-16
  • 打赏
  • 举报
回复
n*n - (1+n)*n/2;
泡泡龙 2013-10-16
  • 打赏
  • 举报
回复
=(n+1)*(n/2)
CqCoder 2013-10-16
  • 打赏
  • 举报
回复
不就是N(N+1)/2 么? 学过初中的都应该知道吧
spawn888 2013-10-16
  • 打赏
  • 举报
回复
反过来看,就是从1加到100 算法就算了把
我是小数位 2013-10-16
  • 打赏
  • 举报
回复
從100加到1,也就是1加到100
qyxqyxqyx 2013-10-16
  • 打赏
  • 举报
回复
不到十岁的高斯表示对楼主的智商深表同情 居然考上了大学。。。。
  • 打赏
  • 举报
回复
100+99+98+....+1 你觉得这像什么?
加载更多回复(27)

110,561

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧