Here is the code:
###########################################################################
# initialization
###########################################################################
DOCUMENT();
loadMacros(
"PGstandard.pl",
"MathObjects.pl",
"PeriodicRerandomization.pl",
"contextFraction.pl",
# "fracListChecker.pl", # contains custom checker and restricts context
"MUHelp.pl",
);
TEXT(beginproblem());
$showPartialCorrectAnswers = 1;
PeriodicRerandomization("3");
###########################################################################
# setup contexts and variables
###########################################################################
Context()->strings->add("no solution"=>{}, "none"=>{alias=>"no solution"}, "no solutions"=>{alias=>"no solution"});
$var = list_random('x','y','z','w','p','q','r','s','t','u','v');
Context()->variables->are($var=>"Real", uc($var)=>"Real");
$a = list_random(-3,-2,2,3);
$b = ($a == 2 || $a == -2) ? list_random(3,4,5,6,10) : list_random(2,3,4,10);
$ba = ($b)**($a);
$eqn = "\log_{$b} ($var) = $a ";
Context("Fraction");
$answer = Fraction($ba);
###########################################################################
# state the problem
###########################################################################
Context()->texStrings;
BEGIN_TEXT
Solve the equation for \($var\):
$PAR \[ $eqn \] $PAR
\( $var = \) \{ ans_rule(20) \}
END_TEXT
Context()->normalStrings;
###########################################################################
# check the answer
###########################################################################
ANS($answer->cmp());
###########################################################################
# use PeriodicRerandomization to write the answer and generate a new
# version of the problem
###########################################################################
Context()->texStrings;
if ($attempts_modp == 0 && $actualAttempts != 0) {
BEGIN_TEXT
$PAR
$BBOLD Answer: $EBOLD \($var = $answer \)
$PAR
END_TEXT
} else {
BEGIN_TEXT
$PAR
$BBOLD Help: $EBOLD \{ MUHelp("logeqns") \}
$BR
END_TEXT
}
Context()->normalStrings;
PeriodicStatus();
COMMENT('Features Periodic Rerandomization. Edited and updated in 2012/2013.
$BR
Desc: Solve a logarithmic equation of the form log_b(x) = a, where a is nonzero.');
ENDDOCUMENT();
############################################################
End code
############################################################
For some reason it is not reducing 1/27 in the asnwer as it should. It does reduce other fraction such as 1/100.
Any help/explanation would be appreciated.
Thank you!