While true wks=Input("2つの数の最大公約数を求めます。<#cr>数字を半角スペース区切りで入力してください。"+_ "<#cr><#cr>例) 1280 1024") if wks=Empty then Exit w=Copy(wks,1,val(pos(" ",wks))-1) h=Copy(wks,val(pos(" ",wks))+1,(length(wks))-val(pos(" ",wks))) ifb (ChkNum(w)=0) or (ChkNum(h)=0)// or (pos(".",wks)>=1) ifb MsgBox("入力された文字が数字でありません。",BTN_ABORT or BTN_RETRY,,,BTN_RETRY)=BTN_RETRY continue else Exit endif else break endif Wend ifb val(w)>val(h) 大=w 小=h else 大=h 小=w endif 解=val(大)-val(小) While true Sleep(0.2) ifb val(解)>val(小) 大=val(解) 小=val(小) else 大=val(小) 小=val(解) endif 解=val(大)-val(小) if 解=0 then 解=val(小) if val(解)=val(小) then break if (pos(".",val(w)/2)=0) and (pos(".",val(h)/2)=0) and (解=2) then break Wend SendStr(0,解) MsgBox("解 = "+解+"<#cr>解はクリップボードにコピーされています。")