请高手帮我编程(会用Visual FoxPro的)

1.求100-1000内最大的素数(结果:997)2.除1和它本身外,不能被其他整数整除的正整数称为素数(注:1不是素数,2是素数)。若两素数之差为2,则称两素数为双胞胎... 1.求100-1000内最大的素数 (结果 :997)
2.除1和它本身外,不能被其他整数整除的正整数称为素数(注:1不是素数,2是素数)。若两素数之差为2,则称两素数为双胞胎数,问[31,601]之间有多少对双胞胎数
展开
 我来答
summer916
2009-05-23 · TA获得超过1961个赞
知道小有建树答主
回答量:905
采纳率:0%
帮助的人:1373万
展开全部
1.
CLEAR
SET TALK OFF
MAX=0
FOR X=100 TO 1000
Y=INT(SQRT(X))
FOR I=2 TO Y
IF MOD(X,I)=0
EXIT
ENDIF
ENDFOR
IF I>Y
IF X>MAX
MAX=X
ENDIF
ENDIF
ENDFOR
?"100-1000中最大的素数是:",MAX
SET TALK ON

2.有点难度,我加了注释,如果能看懂最好

clear
s=0 &&s是计数器,用于计素数的个数
s1=0 &&s1是计数器,用于计双胞胎数
dime a(200) &&定义一个数组,用来存素数,200是估计值
for x=31 to 601
Y=INT(SQRT(X))
FOR I=2 TO Y
IF MOD(X,I)=0
EXIT &&不是素数,则跳出
ENDIF
ENDFOR
if i>y
s=s+1 &&素数个数+1
a(s)=x &&将求得的素数依次放入数组中
endif

endf

for i=1 to s-1
if a(i+1)-a(i)=2
?a(i+1),a(i) && 如相邻的素数相差2,则显示它们
s1=s1+1 &&双胞胎数+1
endif
endfor
?"31-601之间的双胞胎数共"+str(s1,3)+"对"
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式