主题:奇妙的宏替换
VFP的宏替换,的确是一样很莫名其妙的东西.
因为有了宏替换,VFP比很多语言都危险得多,也方便得多.
有一道算式:
1 2 3 4 5 6 7 8 = N
上算式中的N由键盘给出(1<=N<=100),请在算式的每个空挡内都填入+、-、*、/四种运算符中的任意一个,使结果等于N
n1=VAL(INPUTBOX("输入目标值N:","输入"))
a1="1"
For i = 2 To 8
a1=a1+" "+LTRIM(Str(i))
Next
For i1 = 0 To 4 ^ 7
f1=i1
FOR j1=1 TO 7
a1=Stuff(a1,j1*2,1,SUBSTR("+-*/",MOD(f1,4)+1,1))
f1=INT(f1/4)
ENDFOR
IF n1=&a1 [color=ff00ff]用其他语言可要费一番周折.[/color]
MESSAGEBOX(a1)
EXIT
ENDIF
NEXT
因为有了宏替换,VFP比很多语言都危险得多,也方便得多.
有一道算式:
1 2 3 4 5 6 7 8 = N
上算式中的N由键盘给出(1<=N<=100),请在算式的每个空挡内都填入+、-、*、/四种运算符中的任意一个,使结果等于N
n1=VAL(INPUTBOX("输入目标值N:","输入"))
a1="1"
For i = 2 To 8
a1=a1+" "+LTRIM(Str(i))
Next
For i1 = 0 To 4 ^ 7
f1=i1
FOR j1=1 TO 7
a1=Stuff(a1,j1*2,1,SUBSTR("+-*/",MOD(f1,4)+1,1))
f1=INT(f1/4)
ENDFOR
IF n1=&a1 [color=ff00ff]用其他语言可要费一番周折.[/color]
MESSAGEBOX(a1)
EXIT
ENDIF
NEXT