好自卑啊,数学逻辑能力差,这种算法永远都写不出来?

Teaerror 2010-05-14 05:36:23
比如求最大公约数。

自己想到的永远都是for循环一个一个试。

人家的算法总那么亮眼。


int fun(int c,int d)
{
int r;
r=c%d;
while(r!=0)
{
c=d;
d=r;
r=c%d;
}
return d;
}


这可如何是好,应该怎样提高编写算法的能力啊?
...全文
592 50 打赏 收藏 转发到动态 举报
写回复
用AI写文章
50 条回复
切换为时间正序
请发表友善的回复…
发表回复
yeyucao123 2010-05-17
  • 打赏
  • 举报
回复
经验问题,不要对自己失望呀!
sunriver2000 2010-05-14
  • 打赏
  • 举报
回复
不知道楼主有没有看过《程序员的十层楼》??
cszch 2010-05-14
  • 打赏
  • 举报
回复
算法对于我还是空白,都说算法是程序的灵魂,核心,我现在还游于编程的外围。
yshuise 2010-05-14
  • 打赏
  • 举报
回复
辗转相除法的本质在《计算机编程艺术》中有数学证明。
wwwxhb 2010-05-14
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 adaifire 的回复:]

这个是欧几里得算法,岂能说想就能想到的.
[/Quote]
up
renjianguokeivor 2010-05-14
  • 打赏
  • 举报
回复
[Quote=引用 26 楼 nanbazhangbiao 的回复:]
你如果能想出一个别人都想不到的算法。。。那就NB了
大部分都是大家平时见的多。。
自然就有了一些基本的算法。。主要学习人家,看多了自然来感觉了。。
不要灰心。。。一起进步
[/Quote]
nanbazhangbiao 2010-05-14
  • 打赏
  • 举报
回复
你如果能想出一个别人都想不到的算法。。。那就NB了
大部分都是大家平时见的多。。
自然就有了一些基本的算法。。主要学习人家,看多了自然来感觉了。。
不要灰心。。。一起进步
SimonYeung 2010-05-14
  • 打赏
  • 举报
回复
这个算法 辗转相除 你猜是谁想出来的
阿基米德
ForestDB 2010-05-14
  • 打赏
  • 举报
回复
有些东西是和程序本身是没关系的,比如LZ举的例子就是如此。
所以做程序员有时候也要开阔下眼界。
knightzhuwei 2010-05-14
  • 打赏
  • 举报
回复
你去学数学吧 学到数学博士 一定能笑傲算法界
xiaolengbingtian 2010-05-14
  • 打赏
  • 举报
回复
学习。。。。
cedricporter 2010-05-14
  • 打赏
  • 举报
回复
等我们成了数学家就可能想出来了~
赵4老师 2010-05-14
  • 打赏
  • 举报
回复
新算法估计每年也就发明不到一条。
xhp7185 2010-05-14
  • 打赏
  • 举报
回复
路过!!
cy330206 2010-05-14
  • 打赏
  • 举报
回复
多多看,多多练 ,,一个很现实想法
hanyuwei0 2010-05-14
  • 打赏
  • 举报
回复
多看别人的算法,看一遍记不住就看两遍。慢慢就多多少少会写了
某某9 2010-05-14
  • 打赏
  • 举报
回复
这是欧几里得想出来的,楼主不要自卑,就是你老师,甚至我国在世的90%的大学教授也想不出来。
哈哈哈!
int fun(int c,int d)
{
int r;

while(d>0)
{
r=c%d;
c=d;
d=r;
}
return c;
}


kevinyujm 2010-05-14
  • 打赏
  • 举报
回复
本来就是要吸收前人的、别人的经验啊!
一个人的能力实在有限。
现在不可能还想着发明阿拉伯数字吧?
zhaowenzhi1234 2010-05-14
  • 打赏
  • 举报
回复
恩,看来自己还要多看程序,多思考
加载更多回复(30)

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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