质数
质数简介
JS 版本
基础版
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24// 开始计时器
// console.time("test");
// 打印2-100之间的数
for (var i = 2; i <= 100; i++) {
// 创建一个布尔值,用来保存结果,默认i是质数
var flag = true;
// 判断i是否是质数
// 获取2-i之间的所有的数
for (var j = 2; j <= i; j++) {
if (i % j == 0) {
// 如果进入判断则证明i不是质数
flag = false;
}
}
// 如果是质数,则打印i的值
if (flag) {
console.log(i);
}
}
// 终止计时器
//console.timeEnd("test");进阶版
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// 开始计时器
// console.time("test");
// 打印2-100之间的数
for (var i = 2; i <= 100; i++) {
// 创建一个布尔值,用来保存结果,默认i是质数
var flag = true;
// 判断i是否是质数
// 获取2-i之间的所有的数
for (var j = 2; j <= i; j++) {
if (i % j == 0) {
// 如果进入判断则证明i不是质数
flag = false;
break;
}
}
// 如果是质数,则打印i的值
if (flag) {
console.log(i);
}
}
// 终止计时器
// console.timeEnd("test");优化版
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// 开始计时器
// console.time("test");
// 打印2-100之间的数
for (var i = 2; i <= 100; i++) {
// 创建一个布尔值,用来保存结果,默认i是质数
var flag = true;
// 判断i是否是质数
// 获取2-i之间的所有的数
for (var j = 2; j <= Math.sqrt(i); j++) {
if (i % j == 0) {
// 如果进入判断则证明i不是质数
flag = false;
break;
}
}
// 如果是质数,则打印i的值
if (flag) {
console.log(i);
}
}
// 终止计时器
// console.timeEnd("test");
Python 版本
方法一
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18# import time
# 计时开始
# time_start = time.time()
for i in range(2, 101):
flag = True
for j in range(2, int(i ** 0.5) + 1):
if i % j == 0:
flag = False
break
if flag:
print(i, "是质数")
# 结束计时
# time_end = time.time()
# print("所花费的时间为: ", time_end - time_start)方法二(Python 独有)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17# import time
# 计时开始
# time_start = time.time()
for i in range(2, 101):
for j in range(2, int(i ** 0.5) + 1):
if i % j == 0:
break
else:
# for...else语句: 当循环里的break没有被执行的时候,就会执行else
print(i, "是质数")
# 结束计时
# time_end = time.time()
# print("所花费的时间为: ", time_end - time_start)
Java 版本
基础版
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
26public static void main(String[] args) {
// 获取当前时间距离1970-01-01 00:00:00 的毫秒数
// long start = System.currentTimeMillis();
for (int i = 2; i <= 100; i++) {
// 标识
boolean isFlag = true;
// 遍历100以内的自然数
for (int j = 2; j < Math.sqrt(i); j++) {
if (i % j == 0) {
isFlag = false;
}
}
if (isFlag == true) {
System.out.println(i);
}
}
// 获取当前时间距离1970-01-01 00:00:00 的毫秒数
// long end = System.currentTimeMillis();
// System.out.println("所花费的时间为: " + (end - start));
}优化版
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
27public static void main(String[] args) {
// 获取当前时间距离1970-01-01 00:00:00 的毫秒数
// long start = System.currentTimeMillis();
for (int i = 2; i <= 100; i++) {
// 标识
boolean isFlag = true;
// 遍历100以内的自然数
for (int j = 2; j < Math.sqrt(i); j++) {
if (i % j == 0) {
isFlag = false;
break;
}
}
if (isFlag == true) {
System.out.println(i);
}
}
// 获取当前时间距离1970-01-01 00:00:00 的毫秒数
// long end = System.currentTimeMillis();
// System.out.println("所花费的时间为: " + (end - start));
}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 小四先生的云!
评论