四则运算终极版

四则运算终极版要求:

1、生成的题目中计算过程不能产生负数,也就是说算术表达式中如果存在e1-e2的子表达式,那么结果大于等于0;

2、生成的题目中如果存在形式如e1/e2的子表达式,那么其结果应该是真分数。

3、每道题目中出现的运算符个数不超过3个,括号不做详细要求。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <title> new document </title>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <meta name="generator" content="editplus" />
  <meta name="author" content="" />
  <meta name="keywords" content="" />
  <meta name="description" content="" />
 </head>

 <body>
 <button type=‘button‘ onclick="play_all()">开始生成题目</button>
 <font face="宋体">
 <font size="5">
 <font color="#FF0000">
 <body background="images\cute.jpg">
 <span id="text"></span>
 <span id="text2"></span>
 </body>
 <script>
  function GetRandomNum(Min,Max)
    {
        var Range = Max - Min;
        var Rand = Math.random();
        return(Min + Math.round(Rand * Range));
    }
    function max_num(x,y) {
        var t;
        while (y) {
            t = x%y;
            x = y;
            y = t;
        }
        return x;
    }
    function fenshu(a,b,p) {
        if (p==1) {
            if (a>b) {
                return a+"/"+b;
            }else if(a<b){
                return a+"/"+b;
            }else {
                return 1;
            }
        }else {
            var x=a/p;
            var y=b/p;
            if(y==1){
                return x;
            }else{
                return x+"/"+y;
            }
        }
    }
    function f_count(a,b,c,d) {
            var Arr = ["+","-","*","/"];
            var n = GetRandomNum(0,3);
            switch(Arr[n]){
                case "+":{
                var sum_x=(a*d)+(b*c);
                var sum_y=b*d;
                max_x=max_num(sum_x,sum_y);
                max_y=max_num(sum_x,sum_y);
                var N=fenshu(sum_x,sum_y,max_x);
                return a+"/"+b+"+"+c+"/"+d+"="+N;
                break;
                }
                case "-":{
                var sum_x=(a*d)-(b*c);
                    while (sum_x<0) {
                        var a = GetRandomNum(1,30);
                        var b = GetRandomNum(1,30);
                        var c = GetRandomNum(1,30);
                        var d = GetRandomNum(1,30);
                        var sum_x=(a*d)-(b*c);
                    }
                var sum_y=b*d;
                max_x=max_num(sum_x,sum_y);
                max_y=max_num(sum_x,sum_y);
                var N=fenshu(sum_x,sum_y,max_x);
                return a+"/"+b+"-"+c+"/"+d+"="+N;
                break;
                }
                case "*":{
                var sum_x=a*c;
                var sum_y=b*d;
                max_x=max_num(sum_x,sum_y);
                max_y=max_num(sum_x,sum_y);
                var N=fenshu(sum_x,sum_y,max_x);
                return a+"/"+b+"*"+c+"/"+d+"="+N;
                break;
                }
                case "/":{
                var sum_x=a*d;
                var sum_y=b*c;
                max_x=max_num(sum_x,sum_y);
                max_y=max_num(sum_x,sum_y);
                var N=fenshu(sum_x,sum_y,max_x);
                return a+"/"+b+"÷"+c+"/"+d+"="+N;
                break;
                }
            }
    }
    function count(a,b){
            var Arr = ["+","-","*","/"];
            var n = GetRandomNum(0,3);
            switch(Arr[n]){
                case "+":{
                var sum=a+b;
                return a+"+"+b+"="+sum;
                break;
                }
                case "-":{
                var sum=a-b;
                while(sum<0){
                    var a = GetRandomNum(1,30);
                    var b = GetRandomNum(1,30);
                    var sum=a-b;
                }
                return a+"-"+b+"="+sum;
                break;
                }
                case "*":{
                var sum=a*b;
                return a+"*"+b+"="+sum;
                break;
                }
                case "/":{
                var sum=a/b;
                while(a%b!==0){
                    var max_x=max_num(a,b);
                    var N=fenshu(a,b,max_x);
                    return a+"÷"+b+"="+N;
                }
                return a+"÷"+b+"="+sum;
                break;
                }
            }
    }
    function pl_f() {
        var son_a = GetRandomNum(1,30);
        var par_b = GetRandomNum(1,30);
        var son_c = GetRandomNum(1,30);
        var par_d = GetRandomNum(1,30);
        var suma=f_count(son_a,par_b,son_c,par_d);
        return suma;
    }
    function pl() {
            var a = GetRandomNum(1,30);
            var b = GetRandomNum(1,30);
            var sumb=count(a,b);
            return sumb;
    }
    function play_all() {
            for (i = 1; i <=30; i++) {
                var a = GetRandomNum(0,1);
                document.getElementById("text").innerHTML+=("<br>"+"第"+i+"题:");
                switch (a) {
                    case 0:
                        var A=pl();
                        var strs = A.split("=");
                        document.getElementById("text").innerHTML+=(strs[0]+"="+"<br>");
                        document.getElementById("text2").innerHTML+=("<br>"+"第"+i+"题答案:"+strs[1]);
                        break;
                    case 1:
                        var B=pl_f();
                        var strs = B.split("=");
                        document.getElementById("text").innerHTML+=(strs[0]+"="+"<br>");
                        document.getElementById("text2").innerHTML+=("<br>"+"第"+i+"题答案:"+strs[1]);
                        break;
                }
            }
    }
 </script>
</html>

时间: 04-08

四则运算终极版的相关文章

自制进制转换终极版

/** * 自制进制转换终极版 * 过程不重复了. */ public class TransFinal { public static void main(String[] args) { int num = 26; String hex = toHex(num); String oct = toOct(num); String bin = toBin(num); System.out.println("十六进制: "+ hex); System.out.println("

[转]py编码终极版

py编码终极版 原文链接:http://www.cnblogs.com/yuanchenqi/articles/5956943.html 一 什么是编码? 基本概念很简单.首先,我们从一段信息即消息说起,消息以人类可以理解.易懂的表示存在.我打算将这种表示称为"明文"(plain text).对于说英语的人,纸张上打印的或屏幕上显示的英文单词都算作明文. 其次,我们需要能将明文表示的消息转成另外某种表示,我们还需要能将编码文本转回成明文.从明文到编码文本的转换称为"编码&qu

08重编终极版《东邪西毒:终极版》DVD粤语中字

1.东邪西毒].Ashes.of.Time.1994.384p.DVDRip.x264.ac3-DTMM.mkv 这个版本最清晰 ,可惜删减了,只有87分钟,粤语,1.4G. 2.东邪西毒(初始版).Ashes.Of.Time.1994.X264.AAC.D5-MINISD.lever1119.mkv 日本发行的,画质昏黄,可惜是国语的,片头日语说明,100分钟,805M. 3.[东邪西毒].Ashes.of.Time.1994.iNTERNAL.SUBBED.DVDRip.XviD-CFE.A

ucenter 单点登录,终极版

一 ,discuz ecshop  两边登陆都可以同步登陆到另一程序上,但退出则无法实现同步登陆.顺着 Ecshop 的退出流程,顺藤摸瓜找到了 lib_common.php 文件中的 uc_call 这个方法.这个方法的第二个参数 $params 的默认值是 null.而 Ecshop 注销时只传了调用 uc_client 中同步退出方法名做为一个参数的值,第二个参数使用的是默认值.而这个方法中通过 call_user_func_array($func, $params); 来调用对应的方法,

vim--vim终极配置文件之最终极版

""""""""""""""""""""""""""""""""""""""""" " A

四则运算界面版结对

四则运算界面版编译环境 Eclipse开发人员 周伟雄 学号 201306114339队友 邵家文 学号 201306114322 博客:http://www.cnblogs.com/shaojiawen/ 1.程序支持正整数四则运算,支持分数,除法保留两个小数2.可以出表达式李含有的负整数(负整数最小不小于-100)的题目,且负数需要带括号,用户输入的结果不带括号3用户可以选择出题的个数(最多不能超过5个题目),答题结束可以显示用户答错的题目个数和答对的题目个数4用户在第一次答题时,需要用户输

用js制作163登陆页面终极版(写了一晚上)

用js制作163登陆页面终极版(写了一晚上),有些功能还不太完善,有兴趣的可以去自己再实现一些功能,基本上所有的功能我都实现了,只有少数的没有实现,里面还有一些正则表达式的运用,主要还是用表格设计的,没有用div,下次上传div的. 下面看HTML代码: <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>mischen

阿里正式发布《Java开发手册》终极版!

摘要: 本文讲的是阿里正式发布<Java开发手册>终极版!,别人都说我们是码农,但我们知道,自己是个艺术家.也许我们不过多在意自己的外表和穿着,但我们不羁的外表下,骨子里追求着代码的美.质量的美.而代码规约其实就是一个对美的定义. 本文讲的是阿里正式发布<Java开发手册>终极版!,别人都说我们是码农,但我们知道,自己是个艺术家.也许我们不过多在意自己的外表和穿着,但我们不羁的外表下,骨子里追求着代码的美.质量的美.而代码规约其实就是一个对美的定义. <阿里巴巴Java开发手

hdu3338 / 方格横纵和问题终极版,最大流斩

此题被誉为神奇最大流,诱惑我去做了下,感觉也是通常的思路. 题意:1.用1-9去填,满足所给的行/列和要求(和那个什么游戏差不多...) 求一种合法方案,输出.如:   一看,直接就建图了,每个点在白色的点中间,由横和=纵和,管理横和的在左边,纵和的点在右边.S->横和点,纵和点到t,建图即可. 有一点注意,由于只能用1-9去填,是有上下界的网络流问题,所以这里有点比较巧妙,所有白色的点都减去1,和也对应减去几.用0做1,1做2...8做9.一一对应,实现转移为一般最大流问题.最后再加一即可.