# This program uses the new functions and subroutines from version 0.9.9.1

cls

clg

dim n(4)

dim op$(4)

target = int (rand*60)

n[0]=int (rand*10)+1

n[1]=int (rand*10)+1

n[2]=int (rand*10)+1

n[3]=int (rand*10)+1

graphsize 600,200

font "arial",40,100

text 0,20, "Target number is : "+ target

text 0,100, "Use only: "+ n[0]+", "+n[1]+", "+n[2]+", "+n[3]

counter=0

op$[0]="+"

op$[1]="-"

op$[2]="*"

op$[3]="/"

for turn = 1 to 2

For t1 = 0 to 3

For t2 = 0 to 3

For t3 = 0 to 3

For t4 = 0 to 3

For t5 = 0 to 3

For t6 = 0 to 3

For t7 = 0 to 3

if t1<>t3 and t3<>t5 and t5<>t7 and t1<>t5 and t3<>t7 and t1<>t7 then

a=eval(op$[t2],n[t1],n[t3])

c=eval(op$[t6],n[t5],n[t7])

ac=eval(op$[t4],a,c)

if ac = target and turn =2 then Print "("+ n[t1]+op$[t2]+n[t3]+")"+op$[t4]+"("+ n[t5]+op$[t6]+n[t7]+")="+ac

if ac = target and turn =1 then counter = counter +1

b=eval(op$[t4],n[t3],n[t5])

ba=eval(op$[t2],n[t1],b)

bac=eval(op$[t6],ba,n[t7])

if bac= target and turn =2 then Print "(("+ n[t1]+op$[t2]+"("+n[t3]+op$[t4]+n[t5]+"))"+op$[t6]+n[t7]+"="+bac

if bac = target and turn =1 then counter = counter +1

bc=eval(op$[t6],b,n[t7])

bca=eval(op$[t2],n[t1],bc)

if bca= target and turn =2 then Print n[t1]+op$[t2]+"(("+n[t3]+op$[t4]+n[t5]+")"+op$[t6]+n[t7]+")="+bca

if bca = target and turn =1 then counter = counter +1

ab=eval(op$[t4],a,n[t5])

abc=eval(op$[t6],ab,n[t7])

if abc= target and turn =2 then Print "(("+ n[t1]+op$[t2]+n[t3]+")"+op$[t4]+n[t5]+")"+op$[t6]+n[t7]+"="+abc

if abc = target and turn =1 then counter = counter +1

cb=eval(op$[t4],n[t3],c)

cba=eval(op$[t2],n[t1],cb)

if cba = target and turn =2 then Print n[t1]+op$[t2]+"("+n[t3]+op$[t4]+"("+n[t5]+op$[t6]+n[t7]+"))="+cba

if cba = target and turn =1 then counter = counter +1

end if

next t7

next t6

next t5

next t4

next t3

next t2

next t1

print "Number of solutions "+counter

input "press any key to get solutions",a

next turn

function eval(e$,x,y)

if e$="*" then eval = x*y

if e$="/" and y<>0 then eval = x/y

if e$="/" and y=0 then eval = 10000000

if e$="-" then eval = x-y

if e$="+" then eval = x+y

end function

## No comments:

## Post a Comment