PS:此文章仅作为个人课程期间的学习记录
蛮力法是一种简单直接地解决问题的方法,通常直接基于问题的描述和所涉及的概念定义,找出所有可能的解。然后选择其中的一种或多种解,若该解不可行则试探下一种可能的解。
使用蛮力法通常有如下几种情况:
在直接采用蛮力法设计算法中,主要是使用循环语句和选择语句,循环语句用于穷举所有可能的情况,而选择语句判定当前的条件是否为所求的解。
【例4.1】编写一个程序,输出2~1000之间的所有完全数。所谓完全数,是指这样的数,该数的各因子(除该数本身外)之和正好等于该数本身,例如:
6=1+2+3
28=1+2+4+7+14
对应的程序如下:
void main() { int m,i,s; for (m=2;m<=1000;m++) { s=0; for (i=1;i<=m/2;i++) if (m%i==0) s+=i; //i是m的一个因子 if (m==s) printf("%d ",m); } printf("\n"); }