1 <script>
2 // 【程序1】
3 // 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
4 // var month = +prompt("请输入第几月:");
5 // var sum = 0;
6 // var lastMonth = 2;
7 // var nextMonth = 2;
8 // if (month >= 3) {
9 // for (var i = 3; i <= month; i++) {
10 // sum = lastMonth + nextMonth;
11 // lastMonth = nextMonth;
12 // nextMonth = sum;
13 // }
14 // }else{
15 // sum = 2;
16 // }
17 // console.log("第" + month + "个月有" + sum + "只兔子");
18
19 // 【程序2】
20 // 题目:判断101 - 200之间有多少个素数,并输出所有素数。
21 // for (var i = 101; i <= 200; i++) {
22 // for (var j = 2; j < i; j++) {
23 // if (i % j == 0) {
24 // break;
25 // } else {
26 // if (j == i - 1) {
27 // console.log(i);
28 // }
29 // }
30 // }
31 // }
32
33 // // 方法二:
34 // for(var i = 101; i <= 200; i++){
35 // var isOpen = true;
36 // for(var j = 2; j < i; j++){
37 // // 判断
38 // if(i % j == 0){
39 // isOpen = false;
40 // break;
41 // }
42 // }
43 // if(isOpen){
44 // console.log(i);
45 // }
46 // }
47 // 方法三:
48 // for(var i = 101; i <= 200; i++){
49 // var num = 0;
50 // for(var j = 1; j <= i; i++){
51 // if(i % j == 0){
52 // num++;
53 // }
54 // }
55 // if(num == 2){
56 // console.log(i);
57 // }
58 // }
59
60 // 【程序3】
61 // 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153 = 1的三次方+5的三次方+3的三次方。
62 // var a = 100;
63 // var b,c,d;
64 // while (a < 1000) {
65 // b = parseInt(a % 10);//个位
66 // c = parseInt(a / 10 % 10);//十位
67 // d = parseInt(a / 100 % 10);//百位
68 // if (a == b * b * b + c * c * c + d * d * d) {
69 // console.log(a);
70 // }
71 // a++;
72 // }
73
74 // 【程序4】
75 // 题目:将一个正整数分解质因数。例如:输入90, 打印出90 = 2 * 3 * 3 * 5。
76 // var pfactor = +prompt("请输入一个正整数");
77 // for (var i = 2; i <= pfactor; i++) {
78 // if (pfactor % i == 0) {
79 // console.log(i);
80 // pfactor = pfactor / i;
81 // i = 2;
82 // }
83 // }
84
85
86 // 【程序5】
87 // 题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
88 // var m = +prompt("请输入第一个正整数");
89 // var n = +prompt("请输入第二个正整数");
90 // if (m < n) {
91 // var temp = n;
92 // n = m;
93 // m = temp;
94 // }
95 // var a = m;
96 // var b = n;
97 // while (b != 0) {
98 // var temp1 = a % b;
99 // a = b;
100 // b = temp1;
101 // }
102 // console.log("最大公约数为:" + a);
103 // console.log("最小公倍数为:" + m * n / a);
104
105 // 第二种方法:
106 var m = +prompt("请输入第一个正整数");
107 var n = +prompt("请输入第二个正整数");
108 var a = m > n ? n : m;
109 for(var i = a; i > 1; i--){
110 if(m % i == 0 && n % i == 0){
111 var b = i;
112 break;
113 }
114 }
115 if(i == 1){
116 document.write("这两个数没有最大公约数");
117 document.write("最小公倍数为" + (m * n));
118 }else{
119 document.write("最大公约数" + b);
120 document.write("最小公倍数为" + (m * n)/b);
121 }
122 // console.log((m * n)/b);
123
124 // 【程序6】
125 // 题目:求s = a + aa + aaa + aaaa + aa...a的值,其中a是一个数字。例如2 + 22 + 222 + 2222 + 22222(此时共有5个数相加) ,几个数相加有键盘控制。
126 // var num = +prompt("请输入相加的数");
127 // var num1 = num;
128 // var count = +prompt("请输入相加的次数");
129 // var sum = num;
130 // for(var i = 1 ;i<count ;i++){
131 // num = num*10+num1;
132 // sum += num;
133 // }
134 // console.log(sum);
135
136 // 第二种方法:
137 // var num = +prompt("请输入相加的数字个数");
138 // var n = +prompt("底数");
139 // var n1 = 0;
140 // var sum = 0;
141 // for(var i = 0; i < num ; i++){
142 // n1 += n;
143 // n *= 10;
144 // console.log(n,n1);
145 // sum += n1;
146 // }
147 // console.log(sum);
148
149 // 第三种方法:
150 // for(var i = 0; i < num ; i++){
151 // n1 += 2*Math.pow(10,i);
152 // console.log(n1);
153 // sum += n1;
154 // }
155 // 【程序7】
156 // 题目:一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如6 = 1+2+3.编程 找出1000以内的所有完数。
157 // var sum;
158 // for (var i = 1; i < 1000; i++) {
159 // sum = 0;
160 // for (var j = 1; j < i; j++) {
161 // if (i % j == 0) {
162 // sum = sum + j;
163 // }
164 // }
165 // if (sum == i) {
166 // console.log(i);
167 // }
168 // }
169
170 // 第二种方法:
171 // for(var i = 1; i <= 1000; i++){
172 // var sum = 0;
173 // for(var j = 1; j < i ; j++){
174 // if(i % j == 0){
175 // sum += j;
176 // }
177 // }
178 // if(i == sum){
179 // console.log(i);
180 // }
181 // }
182 // 【程序8】
183 // 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
184 // var count = 0;
185 // for (var i = 1; i <= 4; i++) {
186 // for (var j = 1; j <= 4; j++) {
187 // for (var k = 1; k <= 4; k++) {
188 // if (i != j && j != k && i != k) {
189 // count++;
190 // console.log(i * 100 + j * 10 + k);
191 // }
192 // }
193 // }
194 // }
195 // console.log("总共能组成"+count+"个数字");
196
197
198
199 // 【程序9】
200 // 题目:企业发放的奖金根据利润提成。
201 //利润(I)低于或等于10万元时,奖金可提10 %;
202 //利润高于10万元,低于20万元时,低于10万元的部分按10 % 提成,高于10万元的部分,可可提成7.5 %;
203 //20万到40万之间时,高于20万元的部分,可提成5 %;
204 //40万到60万之间时,高于40万元的部分,可提成3 %;
205 //60万到100万之间时,高于60万元的部分,可提成1.5 %,高于100万元时,超过100万元的部分按1 % 提成,
206 //从键盘输入当月利润I,求应发放奖金总数?
207
208 // var profit = +prompt("请输入当月利润(单位:万)");
209 // var bonus = 0;//奖金
210 // if (profit < 0) {
211 // console.log("输入错误");
212 // } else if (profit > 0 && profit <= 10) { //小于10万
213 // bonus = profit * 0.1;
214 // } else if (profit > 10 && profit < 20) { //10-20万
215 // bonus = (profit - 10) * 0.075 + 1;
216 // } else if (profit >= 20 && profit < 40) { //20-40万
217 // bonus = (profit - 20) * 0.05 + 1.75;
218 // } else if (profit >= 40 && profit < 60) { //40-60万
219 // bonus = (profit - 40) * 0.03 + 2.75;
220 // } else if (profit >= 60 && profit < 100) { //60-100万
221 // bonus = (profit - 60) * 0.015 + 3.35;
222 // } else { //大于100万
223 // bonus = (profit - 100) * 0.001 + 3.95;
224 // }
225
226 // console.log("奖金为"+bonus*10000+"元");
227
228
229
230
231 // 【程序10】
232 // 题目:打印出如下图案(菱形)
233 // for (var i = 0; i < 6; i++) {
234 // for (var j = 0; j < i; j++) {
235 // document.writeln("*");
236 // }
237 // document.write("<br/>");
238 // }
239 // for (var i = 6; i > 0; i--) {
240 // for (var j = 0; j < i; j++) {
241 // document.writeln("*");
242 // }
243 // document.write("<br/>")
244 // }
245 </script>