内容正文:
用穷举法解决问题
153=13+53+33 1634=14+64+34+44
如果一个n位正整数等于其各位数字的n次方之和,
则称该数为阿姆斯特朗数(亦称为自恋性数)。
水仙花数
玫瑰花数
能否用解析法找出所有的玫瑰花数(n=4)
*
将求解对象一一列举出来,然后逐一加以分析、处理,并验证结果是否满足给定的条件,穷举完所有对象,问题将最终得以解决。
穷举法(枚举法、列举法 )
*
任务一
找出玫瑰花数
⑴分析问题
穷举对象及范围:
___________________________
满足问题解的条件:
_____________________________________
四位正整数:1000 ~9999
四位正整数等于其各位数字的四次方之和
*
Dim x As Integer '正整数
Dim a As Integer '个位数
Dim b As Integer '十位数
Dim c As Integer '百位数
Dim d As Integer '千位数
__________________________
a = x Mod 10
b = x \ 10 Mod 10
c = x \ 100 Mod 10
d = x \ 1000
_________________________
Print x
_________________________
_________________
⑵完善程序
For x = 1000 To 9999
If a ^ 4 + b ^ 4 + c ^ 4 + d ^ 4 = x Then
End If
Next x
开始
x=x+1
结束
N
Y
x的各位数的四次方之和= x
x=1000
输出x值
x<=9999
Y
N
分离出x的个位、十位、百位、千位
*
穷举法设计算法的基本过程
⑴确定穷举对象及范围
⑵写出满足问题解的条件
用循环结构实现:For Next , Do While Loop
用选择(分支)结构实现:If Th