请VB高手指点一下.是一个VB基础题.............

来源:百度知道 编辑:UC知道 时间:2024/06/07 08:25:46
编程求出2~100之间的素数(只能被1和本身整除的数)
程序代码如下
private sub form_click()
dim i,j,n as integer
dim flag as boolean
for i = 2 to 100
flag = true
j = 2
do while flag and j <= int(sqr(i))
if i Mod j = 0 then flag = fals 'i能被j整除,不是素数
j = j + 1
loop
if flag then
print tab(4*n + 1); i; '输出素数
n = n + 1
if n Mod 5 = 0 then n = 0 '每行输出5个素数
end if
next i
end sud
高手能帮我解释下面这几句是什么意思吗....
if flag then
print tab(4*n + 1); i;
n = n + 1
if n Mod 5 = 0 then n = 0
尤其是这一句:print tab(4*n + 1); i; 为什么要4*n啊

print tab(4*n + 1); i;
为什么要4*n啊?
n=1,print tab(5);
n=2,print tab(9);
。。。。。。
4*n意思是每个数字占4个字符的宽度,因为是4-100间的素数,位数最多也就是2个,4位够放了

你给的分太少了,我不屑回答。。。。。。。。。。

这种题目,知道里问的人不计其数,不是懒得帮你写,而是你竟“勤快”的提问,而不直接在知道里面搜答案。唉!

楼上的不能这样说
flag 被定义为一个逻辑值 它只能取True或者False
print tab(4*n + 1); i;
n = n + 1
这两句的作用是输出的素数间隔相等 tab是与最开头字符的距离
if n Mod 5 = 0 then n = 0 每行输出5个素数
如果一行满了就再从下一行开始输入
大概就是这样

只是用于控制输出行的格式而已,正如楼上所说的