Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1773|回复: 3

[VBA] VBA输出1至100之内的所有素数,每5个输出一行

[复制链接]
发表于 2016-11-16 08:43 | 显示全部楼层 |阅读模式

VBA输出1至100之内的所有素数,每5个输出一行

素数就是除了能被1和其自身整除外,不能被其他数整除的数

1不是素数,令此数为a,让a被2到根号a这间的数整除,

如果a能被其中一个数整除,则a就不是素数;

如果a不能被整除,则a就是一个素数

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2016-11-16 13:15 | 显示全部楼层
  1. Sub tt()
  2.     Dim arr(1 To 20, 1 To 5)
  3.     For i = 2 To 100
  4.         If zs(i) = True Then
  5.             n = n + 1
  6.             r = Int((n - 0.1) / 5) + 1
  7.             c = n Mod 5
  8.             If c = 0 Then c = 5
  9.             arr(r, c) = i
  10.         End If
  11.     Next
  12.     [a1].Resize(r, 5) = arr
  13. End Sub

  14. Function zs(x) As Boolean  '判断是否质数
  15.     For i = 2 To Sqr(x)
  16.         If Int(x / i) = x / i Then Exit Function
  17.     Next
  18.     zs = True
  19. End Function
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

参与人数 1 +3 收起 理由
laoau138 + 3 来学习

查看全部评分

回复

使用道具 举报

发表于 2016-11-16 13:19 | 显示全部楼层
判断条件也可写成   If x Mod i = 0 Then Exit Function

评分

参与人数 1 +3 收起 理由
laoau138 + 3 来学习

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2016-11-16 16:51 | 显示全部楼层
grf1973 发表于 2016-11-16 13:19
判断条件也可写成   If x Mod i = 0 Then Exit Function

http://www.excelpx.com/thread-425697-1-1.html

如何改
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-19 21:54 , Processed in 0.302191 second(s), 6 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表