summaryrefslogtreecommitdiff
path: root/res/script/testz.js
blob: ec7610b4da90d561b8a9a5686b2300a17c21619e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
fqterm.importFile("functions.js");

isexpt=function(num){
    if (num==1){
	return "1";
    }
    for (var i=2;i*i<=num;++i){
	var p=i;
	for (j=1;p<=num;++j){
	    if (p==num){
		var strs = new Array();
		strs[0] = i+"^"+j;
		strs[1] = "(expt "+i+" "+j+")";
                strs[2] = i+"**"+j;
		return strs[rand(3)];
	    }else{
		p *= i;
	    }
	}
    }
    return -1;
}

ismod100=function(num){
    var strs = new Array();
    strs[0] = num;
    if (num%1000==0){
        strs[1] = "000";
	return strs[rand(2)];
    }else if (num%100==0){
        strs[1] = "00";
        return strs[rand(2)];
    }else{
	return -1;
    }
}

isseq = function(num){
    if (num<100){
        return -1;
    }
    var digits = new Array();
    var tmp = num;
    var n = 0;
    for (; tmp>0; n++){
	digits[n] = tmp%10;
	tmp = (tmp-digits[n])/10;
    }
    for (var i=1; i<n-1; ++i){
        if (digits[i]*2==digits[i-1]+digits[i+1]){
            continue;
        }else{
            return -1;
        }
    }
    return num;
}

isz=function(num){
    var str;
    str = ismod100(num);
    if (str!=-1){
        return str;
    }
    str = isexpt(num);
    if (str!=-1){
	return str;
    }
    str = isseq(num);
    if (str!=-1){
	return str;
    }
    return -1;
}