第1关:循环综合练习之哥德巴赫猜想
100
- 任务要求
- 参考答案
- 评论
任务描述
本关任务:验证 7-100(含 7 不含 100)之间的数是否符合哥德巴赫猜想。 哥德巴赫猜想:任一大于 6 的正整数都能分解成两个素数之和。 素数:一个大于 1 的自然数,除了 1 和它自身外,不能被其他自然数整除的数。
编程要求
仔细阅读右侧编辑区内给出的代码框架及注释,按照提示编写程序代码。
注意:无需考虑由两个以上素数组成的正整数,比如 11=7+2+2。
测试说明
平台将运行你编写的程序代码,若你的运行结果和预期输出一致,则通
关。 预期输出:
7可分解为素数2和素数5
8可分解为素数3和素数5
9可分解为素数2和素数7
10可分解为素数3和素数7
10可分解为素数5和素数5
12可分解为素数5和素数7
13可分解为素数2和素数11
14可分解为素数3和素数11
14可分解为素数7和素数7
...
开始你的任务吧,祝你成功!
object Test {
// 判断整数是否是素数
def isPrime(x: Int): Boolean = {
for (y <- 2 until x) {
if (x % y == 0) {
return false
}
}
return true
}
// 验证 7-100 之间的数符合哥德巴赫猜想
def main(args: Array[String]): Unit = {
/********** Begin **********/
for (i <- 7 to 99) {
for (j <- 2 to i / 2) {
if (isPrime(j) && isPrime(i - j)) {
printf("%d可分解为素数%d和素数%d\n", i, j, i - j)
}
}
}
/********** End **********/
}
}