文档章节

零基础学算法->质数

t
 tedzheng
发布于 01/16 16:40
字数 376
阅读 16
收藏 0

质数的定义

质数(Prime number),又称素数,指在大于1的自然数中,除了1和该数自身外,无法被其他自然数整除的数(也可定义为只有1与该数本身两个正因数的数)

大于1的自然数若不是素数,则称之为合数(也称为合成数)。

1000以内的质数

寻找质数算法

'List Primary Number

Sub Prime_Number()
Dim num&
Dim Arr(), i&
Dim pnFlag As Byte
Dim Count&
Dim wrapLine%
Dim m&, n&

Sheet6.[A10].CurrentRegion.ClearContents
num = 10000                       'Number Range
wrapLine = 10                     'Export Column
ReDim Arr(1 To num, 0 To 1)       'Record Number+Flag
For i = 1 To num
    Arr(i, 0) = i           'Orignal Input
    If i >= 2 Then pnFlag = IsPrimeNumber(i)
    Arr(i, 1) = pnFlag      '0=Normal;1=PrimeNumber
Next i
'Export Result to Worksheet
For i = 2 To num
    If Arr(i, 1) = 1 Then
        Count = Count + 1                 'Count
        m = Int(Count / wrapLine)         'Export Row
        n = Count Mod wrapLine            'Export Column
        If n = 0 Then n = wrapLine: m = m - 1   '0 status
        With Sheet6
            .Cells(10 + m, n) = Arr(i, 0)  'Prime Number
        End With
    End If
Next i
Debug.Print Timer
End Sub

'Calculate Prime Number
'0=Normal;1=Prime Number
Function IsPrimeNumber(ByVal n&) As Byte
Dim j&
j = 2
Do While j * j <= n      'prime number always<SQRT(n)
    If n Mod j = 0 Then
        IsPrimeNumber = 0
        Exit Function
    End If
    j = j + 1
Loop
IsPrimeNumber = 1
End Function

 

© 著作权归作者所有

共有 人打赏支持
t
粉丝 2
博文 81
码字总数 42170
作品 0
奉贤
程序员
私信 提问
10个经典的C语言编程算法—零基础新手小白也能学会

C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到...

小辰带你看世界
2018/05/31
0
0
我是如何零基础自学转行人工智能的(附十问十答)

每个字都是经验所得,都是站在一个零基础的人的角度写的,纯手打+网上优秀资源整合,希望大家能每个字都认真看。 接下来文章会侧重在以下几方面 1、零基础如何进行人工智能的自学(以找工作为...

经济与编程
2018/08/01
0
0
零基础学Java的10个方法

版权声明:本文为北京尚学堂原创文章,未经允许不得转载。 零基础学Java只要方法得当,依然有机会学习好Java编程。 但作为初学者可以通过制定一些合理清晰的学习计划。 在帮你屡清楚思路的同...

SXTkaifa
2016/11/18
11
0
C++程序设计与数据结构算法视频教程

课程目标:使学员深入了解C++语言,能够熟练使用C++编写程序。通过学习数据结构,能用C++编写出更加灵活,巧妙,健壮的代码。学完全部课程后,学员具备一定的编程思想和编程逻辑,从而对其他...

星辰8209
2018/07/26
0
0
什么是大数据?零基础如何学习大数据?(附学习路线)

其实简单的来说,大数据就是通过分析和挖掘全量的非抽样的数据辅助决策。 大数据可以实现的应用可以概括为两个方向,一个是精准化定制,第二个是预测。比如像通过搜索引擎搜索同样的内容,每...

董黎明
2018/06/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

surfaceView和View的区别

概念:view在UI线程去更新自己;而SurfaceView则在一个子线程中去更新自己   surfaceView是在一个新起的单独线程中可以重新绘制画面,而View必须在UI的主线程中更新画面   在UI的主线程中...

丁佳辉
37分钟前
0
0
云上数据仓库选型指南

前言: 云数据仓库是构建在云上的新一代数据仓库解决方案,如何选择符合企业需求的云数据仓库,选择时应考虑哪些关键问题成为很多企业管理者关心的问题。本文参考TDWI以及Forrester的研究报告...

阿里云官方博客
39分钟前
0
0
CentOS6 Shell脚本/bin/bash^M: bad interpreter错误解决方法

在windows下保存了一个脚本文件,上传到centos,添加执行权限后运行提示没有那个文件或目录。 解决方法很简单,用vi命令打开要检查的脚本文件,然后用 :set ff? 【说明后面的问号不可少,英文...

lwkai
40分钟前
3
0
java中锁

1.乐观锁和悲观锁 乐观锁与悲观锁不是指具体的什么类型的锁,而是指看待并发同步的角度。 乐观锁 乐观锁认为对于同一个数据的并发操作,是不会发生修改的。在更新数据的时候,会采用尝试更新...

贾峰uk
43分钟前
2
0
Java 工程师成神之路 | 2019正式版

一.基础篇 01 面向对象 → 什么是面向对象 面向对象、面向过程 面向对象的三大基本特征和五大基本原则 → 平台无关性 Java 如何实现的平台无关 JVM 还支持哪些语言(Kotlin、Groovy、JRuby、...

Java填坑路
43分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部