编程想不出算法怎么办?

 我来答
猴88714恋慈987e
2017-11-27 · TA获得超过443个赞
知道答主
回答量:335
采纳率:95%
帮助的人:68.8万
展开全部

首先假设你是计算机专业的大学生,或准备报考计算机专业的高中生。

需要先搞清楚自己是以下哪一类症状:
1. 对于简单的数学问题(如楼主提到的找质数、算阶乘)想不出思路(想出非最优思路也算合格)。
2. 想得出数学思路,但是不会转化为代码(代码冗长也算合格)。

如果是第1类,那么考虑转行比较实在吧;
如果是第2类,而且题主学习编程语言已经超过1个月,那么也请考虑转行吧;
如果是第2类,但是题主初学编程语言时间<1个月,那么请继续坚持,多读现成代码,然后自己编写。如此1个月仍不乐观,参考上一条。

对于用程序来解决数学问题,一个比较有效的方式是从对数学问题的定义入手。
再强调一遍,没有思路的时候,试着从定义入手。

比如寻找质数的简单(并不高效)算法,有如下思维过程:
1. 质数的定义:只能被1和自身整除的大于1的正整数。
2. 从定义提炼判断条件:
2.a. 不能被1或自身之外的任何数整除;
2.b. 大于1的正整数。
3. 用自然语言描述算法过程:
3.a. 2是质数;
3.b. 对每一个大于2的正整数(N)进行如下验证:用2到N-1除N(实际上到N的正平方根即可),若出现整除,则此数不是质数,否则是质数。
4. 将上述步骤翻译为伪代码或代码。
5. 优化算法(如剔除不必要的除法操作)。

熟练之后对于简单问题可以在脑中进行迅速的问题定义和条件提炼,并在脑中想出模糊的算法过程,然后直接写代码。

testkyroo890281
2017-11-27 · TA获得超过331个赞
知道答主
回答量:268
采纳率:95%
帮助的人:65.4万
展开全部

我觉得题主是思维没建立起来,可以试试一下几部:
1,首先想想,你要写的问题,你不用程序能不能完成,比如说,给你一个数字,你用笔能不能算出它是否是质数。这一步是基础,如果这一步有问题,那下面就难了,就好像让你去教一个你自己都不会的问题,你怎么能教会别人
2,分析自己是怎么做的,一步一步的总结,你在解决问题的时候都做了什么事情,遇到什么问题,它们都是怎么被你解决的。
3,教给计算机,想象计算机是一个没有理解能力的孩子,他只能听懂步骤,而无法归纳总结,你不举任何例子,只通过步骤性的描述,计算机明白你的问题
4敲代码
最后,初期你也可以不明白,就是硬做,随便在网上找什么入门100题的,就是做,不会就看答案,只要这100题,题主能刷完,并且能自己做出来,不管是背下来还是理解的,你都不会再有问题了。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阿qi弃qbuol6c58ba
2017-11-27 · TA获得超过418个赞
知道答主
回答量:304
采纳率:98%
帮助的人:67.1万
展开全部

在假设题主懂编程语言基础语法的前提下,我提供以下思路
1.首先从问题的基本定义入手,尝试理解人是如何解决它的
2.拿出笔和草稿纸,尝试用手工方法一步一步解题(细化到每一个数值运算),并把步骤都写下来(不论有多长)
3.分析写下的步骤,尝试把每一个步骤都准确无误转换成代码,敲进去(最好加上注释,说明你此时是怎么想的)
4.写完后在回过头读代码,尝试将重复的代码精简(将重复的计算写到循环里之类的),
5.测试你的代码是否对其他值也有效,如果无效请回到第二步。
我就是这样学算法的,其实大部分时候做到第三步一半时你就会发现可以精简代码了。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式