√15
mfp吧
全部回复
仅看楼主
level 13
function genshu(m)
//m==a**2*b
//12==(2)**2*(3)
//variable m=input("m")
if(is_int(sqrt(m)))
return [to_string(sqrt(m))]
else
variable g=alloc_array([floor(sqrt(m),0)])
for variable a=1 to floor(sqrt(m),0) step 1
for variable b=1 to m/(a**2) step 1
if(and(is_int(a),is_int(b),m==a**2*b))
g[a-1]=a
//printf("%s",[a,b])
break
else
continue
endif
next
next
//return [armax(g)+"*√"+m/(armax(g)**2)]
return [armax(g)+"*"+m/(armax(g)**2)+"**0.5"]
endif
endf
2016年11月24日 02点11分 1
level 13
2016年11月24日 02点11分 2
level 13
//子程序
function armax(d)
return quick_sort(1,d)[0]
endf
function armin(d)
return quick_sort(0,d)[0]
endf
function is_int(n)
try
if n>0
endif
catch
return false
endtry
if floor(n)==n
return true
else
return false
endif
endf
2016年11月24日 02点11分 3
level 13
暂时对正整数可行
2016年11月24日 03点11分 4
level 13
//需完善以下情况
2016年11月24日 03点11分 5
level 13
2016年11月24日 06点11分 6
改函数名为str_genshu(m)
2016年11月24日 06点11分
level 13
写个程序识别"√"和"/√"
2016年11月24日 06点11分 7
即√1.8==sqrt(1.8) /√5==sqrt(5)\1==sqrt(5)/5
2016年11月24日 07点11分
level 13
// √1.8==√(9/5)==3/√5==3*√5/5
help
str_sqrt(m)//m="√5"
endh
function str_sqrt(m)
variable a=to_string(m)
//printf("sqrt(%s)",split(a,"√")[1])
return ["sqrt("+split(a,"√")[1]+")"][0]
endf
2016年11月24日 07点11分 8
level 13
2016年11月24日 07点11分 9
level 13
help
str_dsqrt(m)//m="/√5"
endh
function str_dsqrt(m)
variable a=to_string(m)
//printf("sqrt(%s)\\1",split(a,"/√")[1])
return ["sqrt("+split(a,"/√")[1]+")"+"\\1"][0]
endf
help
str_dsqrt_val(m)//m="/√5"
endh
function str_dsqrt_val(m)
return evaluate(str_dsqrt(m))
endf
help
str_sqrt_val(m)//m="√5"
endh
function str_sqrt_val(m)
return evaluate(str_sqrt(m))
endf
2016年11月24日 08点11分 12
level 13
2016年11月24日 08点11分 13
1