4桁以下の数字を英語で生成(英語数字リスニング特訓用)

ボタンを押して「how many times」と出てきますので、生成したい数字の個数を入力します。
たとえば15と入力すれば「two thousand twenty-three. Three hundred and ten.・・・」みたいなのが15個ランダムで生成されます。これを読み上げしてくれるアプリに入力すればしっかりとした英語リスニングの教材になると思います。
下にあるのが自分が使っている読み上げアプリです。playストアのページに飛びます。

https://play.google.com/store/apps/details?id=com.hyperionics.avar

🔗「@voice」リンク。playストアに飛びます

↓ツールです。下の方にJavaScriptコードを載せています。「出力する」ボタンはdocument.write()を使って出力するのでページが真っ白になります(このページのリンクが貼ってあるので戻ることができるようになっています。)innerHTMLを使うと、コピーするのに何故か動作が遅くなってしまうので、あえてdocument.writeを使っています。他に方法があるのでしょうか。※入力してから出力ボタンを押してください。
広告を消すcss等を書くとhatenaブログ規約違反のようです。


Scope α 記事一覧 - Scope-α


number_1=["","one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"];
number_2=["","","twenty","thirty","forty","fifty","sixty","seventy","eighty","ninety"];

function random(){
return Math.floor(Math.random()*10);
}
function put(){
coder="";num="";
times=prompt("how many times?");
for(i=0;i<times;i++) {coder+=create()+". ";num+=1000*a4+100*a3+10*a2+a1+" ";}
//an・・・10^n-1の位
console.log("@@@@@@"+coder+">___<"+num);


}
function create(){//4けた
code="";
a1=random();a2=random();a3=random();a4=random();
 if(a4!=0) code+=number_1[a4]+" thousand, ";
 if(a3!=0) {
   code+=number_1[a3]+" hundred ";
  if(a2==1) code+="and "+number_1[10+a1];
  else if(a2!=0) code+="and "+number_2[a2]+"-"+number_1[a1];
  else if(a2==0&&a1!=0) code+="and "+number_1[a1];
 }
 else if(a3==0){
  if(a2==1) code+=number_1[10+a1];
  else if(a2!=0) code+=number_2[a2]+"-"+number_1[a1];
  else if(a2==0) code+=number_1[a2];
 }
  
  
  
 
  code= code.replace(/-$/,"") ;
  return code;
 
}