问题标题: 酷町堂:为什么90分?

0
0

0
已采纳
朱优扬
朱优扬
中级天翼
中级天翼

你的整体思路没有问题,但是要注意:

    1.有一个Error的情况(我不知道你有没有判断)

    2.循环枚举每个数时,应该遍历到n-2,因为如果遍历到n,那么我们假设n和n+2都是质数,那么就多了一个素数对,而这个素数对是不符合要求的!

0
小鸡咕咕叫15856960106
小鸡咕咕叫15856960106
高级守护
高级守护

思路:

1.输入

2.循环找到n-2(不是n!注意!),如果有素数对(i是素数&&i+2是素数),那么输出

3.如果没有,输出error

------------------------------------------------------------------------------------------------------------------

由于没有你的完整代码,所以只能展示可能错的地方

1.判断素数x<0是返回false(判断素数函数老师告诉我们写i<=sqrt(x))

2.没有循环到n-2,而是n

0
0
汪宇航
汪宇航
新手启示者
新手启示者

首先,你的函数是没问题的,思路:for(1~n-2){

假如说i和2+i都为质数,则输出;

标志位=true;

}

如果标志位为false,输出error

0
李子杰
李子杰
资深光能
资深光能
1.定义一个bool类型变量和一个int型变量,并输入int型变量
(暂且bool型为f,int型为n)

2.从2~n-2(注意了!!!不是n!!!)
   判断函数i是否是正确的以及i+2是否是正确的 
      如果两个都正确,f改变值,输出i和i+2还有换行

3.写函数(重头戏来了!!!)
   bool函数传一个参数,暂且叫n
   里面定义一个标志位,暂且叫c,初值为正确的
   从2~sqrt(n)里判断
      如果n除以i没有余数 直接将c置为错误,并跳出循环
   最后返回c的值

4.最终判断f是不是等于0,如果是,输出"Eroor"


(PS:已经很详细了,请慎重思考,照此思路写答题)

 

我要回答