有VB求解数学难题,谁会?

来源:百度知道 编辑:UC知道 时间:2024/05/31 04:26:20
求1--100的两位的素数,并按从大到小排列输出?

2位的素数,应该是10-100嘛,
for i=100 to 10 step -2
for j=2 to sqr(i)
if i/j=i\j then
flg=trur
exit for
endif
next
if not flg then print i;
flg=false
next

方法一:

一个数n是素数的条件:不能被2 ~ n-1整除
用For…….Next语句
Dim I as Integer,N As Integer
N=val(InputBox(""))
For I=2 to N-1
If N Mod I=0 Then Exit For '如果能被2 ~ N-1中任何一个数整除,则不是素数,跳出For循环
Next I
If I >= N Then'如果正常跳出For循环,则I跳出循环For后的值应该是N,所以满足这个条件
Print N & "是素数"
Else
Print N & "不是素数"
End If

方法二:(一般都是用这种方法)

一个数n是素数的条件:不能被2 ~ Sqr(n)整除,数学上可以证明
1、用For…….Next语句
Dim I as Integer,N As Integer
N=val(InputBox(""))
For I=2 to int(Sqr(N))
If N Mod I=0 Then Exit For
Next I
If I >int(Sqr(N)) Then
Print N & "是素数"
Else
Print N & "不是素数"