作业帮 > 综合 > 作业

怎么用PB求“水仙花数”?

来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/04/29 07:57:09
怎么用PB求“水仙花数”?
求出所有的“水仙花数”.所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身.例如:153就是一个“水仙花数”,因为153=1^3+5^3+3^3.用MessageBox函数显示结果.将得出的水仙花数写入初始化文件
怎么用PB求“水仙花数”?
设置全局变量(Global Variables):String gs_docname=”c:\shuixianhua.ini”
String is_shuixian="~n"
Open事件:
/*
功能:
1.用MessageBox函数显示水仙花数.
2.将得出的水仙花数写入初始化文件.
*/
this.u_selectshui() //查找水仙花数
messagebox("水仙花素","水仙花素:"+is_shuixian)
this.u_newfile()
函数::
/*
function:setini()
功能:将计算得到的水仙花数写入初始化文件.
*/
SetProfileString(gs_docname,"data","shui",is_shuixian)
/*
function:u_newfile()
功能:判断初始化文件是否存在.若存在,则继续执行;若不存在,则新建初始化文件.
*/
boolean lb_exist
integer li_FileNum
lb_exist = FileExists(gs_docname)
IF lb_exist then
else
\x09li_FileNum = FileOpen(gs_docname,LineMode!,Write!,Shared!,&
Append!)
\x09FileWrite(li_FileNum,"[data]~nshui=0")
\x09this.setini()
end if
/*
function:u_selectshui()
功能:查找水仙花数,并存入字符串is_shuixian中.
*/
integer li_1,li_2,li_3
for li_1=1 to 9
\x09for li_2=0 to 9
\x09\x09for li_3=0 to 9
\x09\x09\x09if li_1*100+li_2*10+li_3 = li_1*li_1*li_1+li_2*li_2*li_2+li_3*li_3*li_3 &
\x09\x09\x09then is_shuixian+=(string(li_1*100+li_2*10+li_3)+"~n")
\x09 next
next
next
return 0